|
|
|
@ -119,7 +119,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+#if !defined(STAGING_CSMT)
|
|
|
|
|
void wined3d_buffer_validate_location(struct wined3d_buffer *buffer, DWORD location)
|
|
|
|
|
static void wined3d_buffer_validate_location(struct wined3d_buffer *buffer, DWORD location)
|
|
|
|
|
{
|
|
|
|
|
TRACE("buffer %p, location %s.\n", buffer, wined3d_debug_location(location));
|
|
|
|
|
@@ -128,6 +139,7 @@ void wined3d_buffer_invalidate_location(struct wined3d_buffer *buffer, DWORD loc
|
|
|
|
@ -332,7 +332,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
|
|
|
|
|
|
|
|
|
return sizeof(*dst_color);
|
|
|
|
|
}
|
|
|
|
|
@@ -622,11 +740,62 @@ BOOL wined3d_buffer_load_location(struct wined3d_buffer *buffer,
|
|
|
|
|
@@ -622,11 +740,62 @@ static BOOL wined3d_buffer_load_location(struct wined3d_buffer *buffer,
|
|
|
|
|
|
|
|
|
|
wined3d_buffer_validate_location(buffer, location);
|
|
|
|
|
return TRUE;
|
|
|
|
@ -8397,7 +8397,19 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
return TRUE;
|
|
|
|
|
|
|
|
|
|
case WINED3D_LOCATION_TEXTURE_RGB:
|
|
|
|
|
@@ -1420,7 +1670,9 @@ struct wined3d_texture_sub_resource *wined3d_texture_get_sub_resource(struct win
|
|
|
|
|
@@ -1401,7 +1651,11 @@ void CDECL wined3d_texture_generate_mipmaps(struct wined3d_texture *texture)
|
|
|
|
|
FIXME("texture %p stub!\n", texture);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+#if !defined(STAGING_CSMT)
|
|
|
|
|
static struct wined3d_texture_sub_resource *wined3d_texture_get_sub_resource(struct wined3d_texture *texture,
|
|
|
|
|
+#else /* STAGING_CSMT */
|
|
|
|
|
+struct wined3d_texture_sub_resource *wined3d_texture_get_sub_resource(struct wined3d_texture *texture,
|
|
|
|
|
+#endif /* STAGING_CSMT */
|
|
|
|
|
unsigned int sub_resource_idx)
|
|
|
|
|
{
|
|
|
|
|
UINT sub_count = texture->level_count * texture->layer_count;
|
|
|
|
|
@@ -1420,7 +1674,9 @@ static struct wined3d_texture_sub_resource *wined3d_texture_get_sub_resource(str
|
|
|
|
|
HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
|
|
|
|
|
UINT layer, const struct wined3d_box *dirty_region)
|
|
|
|
|
{
|
|
|
|
@ -8407,7 +8419,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
unsigned int sub_resource_idx;
|
|
|
|
|
|
|
|
|
|
TRACE("texture %p, layer %u, dirty_region %s.\n", texture, layer, debug_box(dirty_region));
|
|
|
|
|
@@ -1432,6 +1684,7 @@ HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
|
|
|
|
|
@@ -1432,6 +1688,7 @@ HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
|
|
|
|
|
}
|
|
|
|
|
sub_resource_idx = layer * texture->level_count;
|
|
|
|
|
|
|
|
|
@ -8415,7 +8427,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if (dirty_region)
|
|
|
|
|
WARN("Ignoring dirty_region %s.\n", debug_box(dirty_region));
|
|
|
|
|
|
|
|
|
|
@@ -1445,6 +1698,9 @@ HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
|
|
|
|
|
@@ -1445,6 +1702,9 @@ HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
|
|
|
|
|
wined3d_texture_invalidate_location(texture, sub_resource_idx, ~texture->resource.map_binding);
|
|
|
|
|
context_release(context);
|
|
|
|
|
|
|
|
|
@ -8425,7 +8437,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
return WINED3D_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1632,7 +1888,9 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -1632,7 +1892,9 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
struct wined3d_context *context, DWORD location)
|
|
|
|
|
{
|
|
|
|
|
struct wined3d_texture_sub_resource *sub_resource = &texture->sub_resources[sub_resource_idx];
|
|
|
|
@ -8435,7 +8447,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
unsigned int row_pitch, slice_pitch;
|
|
|
|
|
|
|
|
|
|
TRACE("texture %p, sub_resource_idx %u, context %p, location %s.\n",
|
|
|
|
|
@@ -1640,6 +1898,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -1640,6 +1902,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
|
|
|
|
|
TRACE("Current resource location %s.\n", wined3d_debug_location(sub_resource->locations));
|
|
|
|
|
|
|
|
|
@ -8443,7 +8455,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if ((sub_resource->locations & location) == location)
|
|
|
|
|
{
|
|
|
|
|
TRACE("Location(s) already up to date.\n");
|
|
|
|
|
@@ -1653,9 +1912,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -1653,9 +1916,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8455,7 +8467,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if (sub_resource->locations & WINED3D_LOCATION_DISCARDED)
|
|
|
|
|
{
|
|
|
|
|
TRACE("1d texture previously discarded, nothing to do.\n");
|
|
|
|
|
@@ -1664,6 +1925,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -1664,6 +1929,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
goto done;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8463,7 +8475,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
switch (location)
|
|
|
|
|
{
|
|
|
|
|
case WINED3D_LOCATION_TEXTURE_RGB:
|
|
|
|
|
@@ -1678,7 +1940,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -1678,7 +1944,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
}
|
|
|
|
|
else if (sub_resource->locations & WINED3D_LOCATION_BUFFER)
|
|
|
|
|
{
|
|
|
|
@ -8475,7 +8487,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB);
|
|
|
|
|
wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch);
|
|
|
|
|
texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch);
|
|
|
|
|
@@ -1723,7 +1989,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -1723,7 +1993,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
case WINED3D_LOCATION_BUFFER:
|
|
|
|
|
if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
|
|
|
|
{
|
|
|
|
@ -8487,7 +8499,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
|
|
|
|
|
if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB)
|
|
|
|
|
wined3d_texture_bind_and_dirtify(texture, context, FALSE);
|
|
|
|
|
@@ -1746,7 +2016,9 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -1746,7 +2020,9 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8497,7 +8509,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
wined3d_texture_validate_location(texture, sub_resource_idx, location);
|
|
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
|
@@ -1854,7 +2126,12 @@ static void texture2d_upload_data(struct wined3d_texture *texture, unsigned int
|
|
|
|
|
@@ -1854,7 +2130,12 @@ static void texture2d_upload_data(struct wined3d_texture *texture, unsigned int
|
|
|
|
|
static BOOL texture2d_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
|
|
|
|
struct wined3d_context *context, DWORD location)
|
|
|
|
|
{
|
|
|
|
@ -8510,7 +8522,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Context activation is done by the caller. */
|
|
|
|
|
@@ -2017,8 +2294,13 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
|
|
|
|
@@ -2017,8 +2298,13 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
|
|
|
|
wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_DISCARDED);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8524,7 +8536,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
|
|
|
|
|
if (resource->type == WINED3D_RTYPE_TEXTURE_2D)
|
|
|
|
|
{
|
|
|
|
|
@@ -2043,6 +2325,89 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
|
|
|
|
@@ -2043,6 +2329,89 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
|
|
|
|
wined3d_texture_unload_gl_texture(texture);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8614,7 +8626,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx,
|
|
|
|
|
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags)
|
|
|
|
|
{
|
|
|
|
|
@@ -2050,6 +2415,7 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
@@ -2050,6 +2419,7 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
struct wined3d_texture_sub_resource *sub_resource;
|
|
|
|
|
struct wined3d_device *device = resource->device;
|
|
|
|
|
unsigned int fmt_flags = resource->format_flags;
|
|
|
|
@ -8622,7 +8634,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
const struct wined3d_gl_info *gl_info = NULL;
|
|
|
|
|
struct wined3d_context *context = NULL;
|
|
|
|
|
struct wined3d_texture *texture;
|
|
|
|
|
@@ -2057,6 +2423,11 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
@@ -2057,6 +2427,11 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
unsigned int texture_level;
|
|
|
|
|
BYTE *base_memory;
|
|
|
|
|
BOOL ret;
|
|
|
|
@ -8634,7 +8646,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
|
|
|
|
|
TRACE("resource %p, sub_resource_idx %u, map_desc %p, box %s, flags %#x.\n",
|
|
|
|
|
resource, sub_resource_idx, map_desc, debug_box(box), flags);
|
|
|
|
|
@@ -2101,14 +2472,22 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
@@ -2101,14 +2476,22 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
return WINED3DERR_INVALIDCALL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8657,7 +8669,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
TRACE("WINED3D_MAP_DISCARD flag passed, marking %s as up to date.\n",
|
|
|
|
|
wined3d_debug_location(texture->resource.map_binding));
|
|
|
|
|
if ((ret = wined3d_texture_prepare_location(texture, sub_resource_idx,
|
|
|
|
|
@@ -2139,6 +2518,24 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
@@ -2139,6 +2522,24 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
|
|
|
|
|
if (context)
|
|
|
|
|
context_release(context);
|
|
|
|
@ -8682,7 +8694,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
|
|
|
|
|
if (fmt_flags & WINED3DFMT_FLAG_BROKEN_PITCH)
|
|
|
|
|
{
|
|
|
|
|
@@ -2174,6 +2571,7 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
@@ -2174,6 +2575,7 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8690,7 +8702,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if (texture->swapchain && texture->swapchain->front_buffer == texture)
|
|
|
|
|
{
|
|
|
|
|
RECT *r = &texture->swapchain->front_buffer_update;
|
|
|
|
|
@@ -2185,6 +2583,7 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
@@ -2185,6 +2587,7 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
TRACE("Mapped front buffer %s.\n", wine_dbgstr_rect(r));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8698,7 +8710,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
++resource->map_count;
|
|
|
|
|
++sub_resource->map_count;
|
|
|
|
|
|
|
|
|
|
@@ -2194,14 +2593,71 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
@@ -2194,14 +2597,71 @@ static HRESULT texture_resource_sub_resource_map(struct wined3d_resource *resour
|
|
|
|
|
return WINED3D_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8770,7 +8782,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
|
|
|
|
|
TRACE("resource %p, sub_resource_idx %u.\n", resource, sub_resource_idx);
|
|
|
|
|
|
|
|
|
|
@@ -2217,6 +2673,7 @@ static HRESULT texture_resource_sub_resource_unmap(struct wined3d_resource *reso
|
|
|
|
|
@@ -2217,6 +2677,7 @@ static HRESULT texture_resource_sub_resource_unmap(struct wined3d_resource *reso
|
|
|
|
|
return WINEDDERR_NOTLOCKED;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8778,7 +8790,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if (device->d3d_initialized)
|
|
|
|
|
{
|
|
|
|
|
context = context_acquire(device, NULL);
|
|
|
|
|
@@ -2237,6 +2694,15 @@ static HRESULT texture_resource_sub_resource_unmap(struct wined3d_resource *reso
|
|
|
|
|
@@ -2237,6 +2698,15 @@ static HRESULT texture_resource_sub_resource_unmap(struct wined3d_resource *reso
|
|
|
|
|
else if (resource->format_flags & (WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL))
|
|
|
|
|
{
|
|
|
|
|
FIXME("Depth / stencil buffer locking is not implemented.\n");
|
|
|
|
@ -8794,7 +8806,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
--sub_resource->map_count;
|
|
|
|
|
@@ -2600,11 +3066,23 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
|
|
|
|
@@ -2600,11 +3070,23 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
|
|
|
|
|
|
|
|
|
TRACE("Created surface level %u, layer %u @ %p.\n", i, j, surface);
|
|
|
|
|
|
|
|
|
@ -8818,7 +8830,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -2760,7 +3238,9 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -2760,7 +3242,9 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
struct wined3d_context *context, DWORD location)
|
|
|
|
|
{
|
|
|
|
|
struct wined3d_texture_sub_resource *sub_resource = &texture->sub_resources[sub_resource_idx];
|
|
|
|
@ -8828,7 +8840,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
unsigned int row_pitch, slice_pitch;
|
|
|
|
|
|
|
|
|
|
TRACE("texture %p, sub_resource_idx %u, context %p, location %s.\n",
|
|
|
|
|
@@ -2768,6 +3248,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -2768,6 +3252,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
|
|
|
|
|
TRACE("Current resource location %s.\n", wined3d_debug_location(sub_resource->locations));
|
|
|
|
|
|
|
|
|
@ -8836,7 +8848,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if ((sub_resource->locations & location) == location)
|
|
|
|
|
{
|
|
|
|
|
TRACE("Location(s) already up to date.\n");
|
|
|
|
|
@@ -2781,9 +3262,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -2781,9 +3266,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8848,7 +8860,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if (sub_resource->locations & WINED3D_LOCATION_DISCARDED)
|
|
|
|
|
{
|
|
|
|
|
TRACE("Volume previously discarded, nothing to do.\n");
|
|
|
|
|
@@ -2792,6 +3275,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -2792,6 +3279,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
goto done;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8856,7 +8868,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
switch (location)
|
|
|
|
|
{
|
|
|
|
|
case WINED3D_LOCATION_TEXTURE_RGB:
|
|
|
|
|
@@ -2807,7 +3291,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -2807,7 +3295,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
}
|
|
|
|
|
else if (sub_resource->locations & WINED3D_LOCATION_BUFFER)
|
|
|
|
|
{
|
|
|
|
@ -8868,7 +8880,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
wined3d_texture_bind_and_dirtify(texture, context,
|
|
|
|
|
location == WINED3D_LOCATION_TEXTURE_SRGB);
|
|
|
|
|
wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch);
|
|
|
|
|
@@ -2853,7 +3341,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -2853,7 +3345,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
case WINED3D_LOCATION_BUFFER:
|
|
|
|
|
if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
|
|
|
|
{
|
|
|
|
@ -8880,7 +8892,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
|
|
|
|
|
if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB)
|
|
|
|
|
wined3d_texture_bind_and_dirtify(texture, context, FALSE);
|
|
|
|
|
@@ -2876,7 +3368,9 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
@@ -2876,7 +3372,9 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8890,7 +8902,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
wined3d_texture_validate_location(texture, sub_resource_idx, location);
|
|
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
|
@@ -3040,6 +3534,9 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
|
|
|
|
@@ -3040,6 +3538,9 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
|
|
|
|
if (wined3d_texture_use_pbo(texture, gl_info))
|
|
|
|
|
{
|
|
|
|
|
wined3d_resource_free_sysmem(&texture->resource);
|
|
|
|
@ -8900,7 +8912,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
texture->resource.map_binding = WINED3D_LOCATION_BUFFER;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -3390,13 +3887,47 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
|
|
|
|
@@ -3390,13 +3891,47 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
|
|
|
|
return WINED3D_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8948,7 +8960,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
|
|
|
|
|
TRACE("texture %p, sub_resource_idx %u, dc %p.\n", texture, sub_resource_idx, dc);
|
|
|
|
|
|
|
|
|
|
@@ -3421,6 +3952,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
|
|
|
|
@@ -3421,6 +3956,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
|
|
|
|
if (texture->resource.map_count && !(texture->flags & WINED3D_TEXTURE_GET_DC_LENIENT))
|
|
|
|
|
return WINED3DERR_INVALIDCALL;
|
|
|
|
|
|
|
|
|
@ -8956,7 +8968,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if (device->d3d_initialized)
|
|
|
|
|
context = context_acquire(device, NULL);
|
|
|
|
|
|
|
|
|
|
@@ -3443,6 +3975,32 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
|
|
|
|
@@ -3443,6 +3979,32 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
|
|
|
|
TRACE("Returning dc %p.\n", *dc);
|
|
|
|
|
|
|
|
|
|
return hr;
|
|
|
|
@ -8989,7 +9001,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsigned int sub_resource_idx, HDC dc)
|
|
|
|
|
@@ -3473,6 +4031,7 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
|
|
|
|
|
@@ -3473,6 +4035,7 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
|
|
|
|
|
return WINED3DERR_INVALIDCALL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -8997,7 +9009,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
|
|
|
|
if (!(texture->resource.usage & WINED3DUSAGE_OWNDC) && !(device->wined3d->flags & WINED3D_NO3D))
|
|
|
|
|
wined3d_surface_destroy_dc(surface);
|
|
|
|
|
|
|
|
|
|
@@ -3481,6 +4040,9 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
|
|
|
|
|
@@ -3481,6 +4044,9 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
|
|
|
|
|
wined3d_texture_update_map_binding(texture);
|
|
|
|
|
if (!(texture->flags & WINED3D_TEXTURE_GET_DC_LENIENT))
|
|
|
|
|
texture->flags &= ~WINED3D_TEXTURE_DC_IN_USE;
|
|
|
|
@ -9339,7 +9351,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
} sub_resources[1];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -2850,11 +2956,23 @@ void wined3d_texture_bind(struct wined3d_texture *texture,
|
|
|
|
|
@@ -2850,11 +2956,25 @@ void wined3d_texture_bind(struct wined3d_texture *texture,
|
|
|
|
|
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture,
|
|
|
|
|
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
|
|
|
|
@ -9359,11 +9371,13 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
+GLenum wined3d_texture_get_gl_buffer(const struct wined3d_texture *texture) DECLSPEC_HIDDEN;
|
|
|
|
|
+void wined3d_texture_get_memory(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
|
|
|
|
+ struct wined3d_bo_address *data, DWORD locations, BOOL map) DECLSPEC_HIDDEN;
|
|
|
|
|
+struct wined3d_texture_sub_resource *wined3d_texture_get_sub_resource(struct wined3d_texture *texture,
|
|
|
|
|
+ unsigned int sub_resource_idx) DECLSPEC_HIDDEN;
|
|
|
|
|
+#endif /* STAGING_CSMT */
|
|
|
|
|
struct wined3d_texture_sub_resource *wined3d_texture_get_sub_resource(struct wined3d_texture *texture,
|
|
|
|
|
unsigned int sub_resource_idx) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_texture_invalidate_location(struct wined3d_texture *texture,
|
|
|
|
|
@@ -2867,13 +2985,26 @@ void *wined3d_texture_map_bo_address(const struct wined3d_bo_address *data, size
|
|
|
|
|
unsigned int sub_resource_idx, DWORD location) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_texture_load(struct wined3d_texture *texture,
|
|
|
|
|
@@ -2865,13 +2985,26 @@ void *wined3d_texture_map_bo_address(const struct wined3d_bo_address *data, size
|
|
|
|
|
const struct wined3d_gl_info *gl_info, GLenum binding, DWORD flags) DECLSPEC_HIDDEN;
|
|
|
|
|
BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
|
|
|
|
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
|
|
|
|
@ -9390,7 +9404,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
|
|
|
|
const struct wined3d_context *context, const struct wined3d_box *box,
|
|
|
|
|
const struct wined3d_const_bo_address *data, unsigned int row_pitch, unsigned int slice_pitch) DECLSPEC_HIDDEN;
|
|
|
|
|
@@ -2978,9 +3109,17 @@ HRESULT surface_color_fill(struct wined3d_surface *s,
|
|
|
|
|
@@ -2976,9 +3109,17 @@ HRESULT surface_color_fill(struct wined3d_surface *s,
|
|
|
|
|
const RECT *rect, const struct wined3d_color *color) DECLSPEC_HIDDEN;
|
|
|
|
|
HRESULT wined3d_surface_create_dc(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_surface_destroy_dc(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
|
|
|
@ -9408,7 +9422,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
|
|
|
|
|
void surface_modify_ds_location(struct wined3d_surface *surface, DWORD location, UINT w, UINT h) DECLSPEC_HIDDEN;
|
|
|
|
|
void surface_set_compatible_renderbuffer(struct wined3d_surface *surface,
|
|
|
|
|
@@ -2991,6 +3130,11 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
|
|
|
|
@@ -2989,6 +3130,11 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
|
|
|
|
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
|
|
|
|
|
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
|
|
|
|
|
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
|
|
|
@ -9420,7 +9434,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
|
|
|
|
|
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
|
|
|
|
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
|
|
|
|
@@ -3005,6 +3149,12 @@ struct wined3d_sampler
|
|
|
|
|
@@ -3003,6 +3149,12 @@ struct wined3d_sampler
|
|
|
|
|
GLuint name;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -9433,7 +9447,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
struct wined3d_vertex_declaration_element
|
|
|
|
|
{
|
|
|
|
|
const struct wined3d_format *format;
|
|
|
|
|
@@ -3100,6 +3250,7 @@ struct wined3d_stateblock
|
|
|
|
|
@@ -3098,6 +3250,7 @@ struct wined3d_stateblock
|
|
|
|
|
void stateblock_init_contained_states(struct wined3d_stateblock *stateblock) DECLSPEC_HIDDEN;
|
|
|
|
|
|
|
|
|
|
void state_cleanup(struct wined3d_state *state) DECLSPEC_HIDDEN;
|
|
|
|
@ -9441,7 +9455,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
void state_init(struct wined3d_state *state, struct wined3d_fb_state *fb,
|
|
|
|
|
const struct wined3d_gl_info *gl_info, const struct wined3d_d3d_info *d3d_info,
|
|
|
|
|
DWORD flags) DECLSPEC_HIDDEN;
|
|
|
|
|
@@ -3113,54 +3264,150 @@ enum wined3d_push_constants
|
|
|
|
|
@@ -3111,54 +3264,150 @@ enum wined3d_push_constants
|
|
|
|
|
WINED3D_PUSH_CONSTANTS_PS_I,
|
|
|
|
|
WINED3D_PUSH_CONSTANTS_VS_B,
|
|
|
|
|
WINED3D_PUSH_CONSTANTS_PS_B,
|
|
|
|
@ -9510,13 +9524,13 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_cs_destroy(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
|
|
|
|
|
+#if !defined(STAGING_CSMT)
|
|
|
|
|
|
|
|
|
|
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
|
|
|
|
|
DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
|
|
|
|
|
+
|
|
|
|
|
+void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
|
|
|
|
|
+ DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
|
|
|
|
|
+#else /* STAGING_CSMT */
|
|
|
|
|
+void wined3d_cs_switch_onscreen_ds(struct wined3d_cs *cs, struct wined3d_context *context,
|
|
|
|
|
+ struct wined3d_surface *depth_stencil) DECLSPEC_HIDDEN;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
+void wined3d_cs_emit_blt(struct wined3d_cs *cs, struct wined3d_surface *dst_surface,
|
|
|
|
|
+ const RECT *dst_rect, struct wined3d_surface *src_surface,
|
|
|
|
|
+ const RECT *src_rect, DWORD flags, const struct wined3d_blt_fx *fx,
|
|
|
|
@ -9525,8 +9539,8 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
+ struct wined3d_buffer *buffer, unsigned int offset, unsigned int size) DECLSPEC_HIDDEN;
|
|
|
|
|
+void wined3d_cs_emit_buffer_swap_mem(struct wined3d_cs *cs, struct wined3d_buffer *buffer,
|
|
|
|
|
+ BYTE *mem) DECLSPEC_HIDDEN;
|
|
|
|
|
+void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
|
|
|
|
|
+ DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
|
|
|
|
|
DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
|
|
|
|
|
+void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view,
|
|
|
|
|
+ const RECT *rect, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil,
|
|
|
|
|
+ const struct blit_shader *blitter) DECLSPEC_HIDDEN;
|
|
|
|
@ -9592,7 +9606,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
void wined3d_cs_emit_set_rasterizer_state(struct wined3d_cs *cs,
|
|
|
|
|
struct wined3d_rasterizer_state *rasterizer_state) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_cs_emit_set_render_state(struct wined3d_cs *cs,
|
|
|
|
|
@@ -3192,6 +3439,7 @@ void wined3d_cs_emit_set_unordered_access_view(struct wined3d_cs *cs, unsigned i
|
|
|
|
|
@@ -3190,6 +3439,7 @@ void wined3d_cs_emit_set_unordered_access_view(struct wined3d_cs *cs, unsigned i
|
|
|
|
|
void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
|
|
|
|
|
struct wined3d_vertex_declaration *declaration) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN;
|
|
|
|
@ -9600,7 +9614,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
|
|
|
|
HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource, unsigned int sub_resource_idx,
|
|
|
|
|
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, unsigned int flags) DECLSPEC_HIDDEN;
|
|
|
|
|
@@ -3203,6 +3451,24 @@ static inline void wined3d_cs_push_constants(struct wined3d_cs *cs, enum wined3d
|
|
|
|
|
@@ -3201,6 +3451,24 @@ static inline void wined3d_cs_push_constants(struct wined3d_cs *cs, enum wined3d
|
|
|
|
|
{
|
|
|
|
|
cs->ops->push_constants(cs, p, start_idx, count, constants);
|
|
|
|
|
}
|
|
|
|
@ -9625,7 +9639,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
|
|
|
|
|
/* TODO: Add tests and support for FLOAT16_4 POSITIONT, D3DCOLOR position, other
|
|
|
|
|
* fixed function semantics as D3DCOLOR or FLOAT16 */
|
|
|
|
|
@@ -3228,13 +3494,20 @@ struct wined3d_buffer
|
|
|
|
|
@@ -3226,13 +3494,20 @@ struct wined3d_buffer
|
|
|
|
|
GLuint buffer_object;
|
|
|
|
|
GLenum buffer_object_usage;
|
|
|
|
|
GLenum buffer_type_hint;
|
|
|
|
@ -9646,7 +9660,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
struct wined3d_event_query *query;
|
|
|
|
|
|
|
|
|
|
/* conversion stuff */
|
|
|
|
|
@@ -3250,6 +3523,7 @@ static inline struct wined3d_buffer *buffer_from_resource(struct wined3d_resourc
|
|
|
|
|
@@ -3248,10 +3523,15 @@ static inline struct wined3d_buffer *buffer_from_resource(struct wined3d_resourc
|
|
|
|
|
return CONTAINING_RECORD(resource, struct wined3d_buffer, resource);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -9654,24 +9668,19 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
void buffer_mark_used(struct wined3d_buffer *buffer) DECLSPEC_HIDDEN;
|
|
|
|
|
DWORD wined3d_buffer_get_memory(struct wined3d_buffer *buffer,
|
|
|
|
|
struct wined3d_bo_address *data, DWORD locations) DECLSPEC_HIDDEN;
|
|
|
|
|
@@ -3258,12 +3532,25 @@ void wined3d_buffer_load(struct wined3d_buffer *buffer, struct wined3d_context *
|
|
|
|
|
const struct wined3d_state *state) DECLSPEC_HIDDEN;
|
|
|
|
|
BOOL wined3d_buffer_load_location(struct wined3d_buffer *buffer, struct wined3d_context *context,
|
|
|
|
|
DWORD location) DECLSPEC_HIDDEN;
|
|
|
|
|
void wined3d_buffer_invalidate_location(struct wined3d_buffer *buffer, DWORD location) DECLSPEC_HIDDEN;
|
|
|
|
|
+#else /* STAGING_CSMT */
|
|
|
|
|
+void buffer_get_memory(struct wined3d_buffer *buffer, struct wined3d_context *context,
|
|
|
|
|
+ struct wined3d_bo_address *data) DECLSPEC_HIDDEN;
|
|
|
|
|
+void wined3d_buffer_load(struct wined3d_buffer *buffer, struct wined3d_context *context,
|
|
|
|
|
+ const struct wined3d_state *state) DECLSPEC_HIDDEN;
|
|
|
|
|
+#endif /* STAGING_CSMT */
|
|
|
|
|
void wined3d_buffer_load(struct wined3d_buffer *buffer, struct wined3d_context *context,
|
|
|
|
|
const struct wined3d_state *state) DECLSPEC_HIDDEN;
|
|
|
|
|
BYTE *wined3d_buffer_load_sysmem(struct wined3d_buffer *buffer, struct wined3d_context *context) DECLSPEC_HIDDEN;
|
|
|
|
|
HRESULT wined3d_buffer_copy(struct wined3d_buffer *dst_buffer, unsigned int dst_offset,
|
|
|
|
|
@@ -3259,6 +3539,12 @@ HRESULT wined3d_buffer_copy(struct wined3d_buffer *dst_buffer, unsigned int dst_
|
|
|
|
|
struct wined3d_buffer *src_buffer, unsigned int src_offset, unsigned int size) DECLSPEC_HIDDEN;
|
|
|
|
|
HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
|
|
|
|
|
const struct wined3d_box *box, const void *data) DECLSPEC_HIDDEN;
|
|
|
|
|
+#if !defined(STAGING_CSMT)
|
|
|
|
|
void wined3d_buffer_validate_location(struct wined3d_buffer *buffer, DWORD location) DECLSPEC_HIDDEN;
|
|
|
|
|
+#else /* STAGING_CSMT */
|
|
|
|
|
+#if defined(STAGING_CSMT)
|
|
|
|
|
+void buffer_invalidate_bo_range(struct wined3d_buffer *buffer, unsigned int offset, unsigned int size) DECLSPEC_HIDDEN;
|
|
|
|
|
+void buffer_swap_mem(struct wined3d_buffer *buffer, BYTE *mem) DECLSPEC_HIDDEN;
|
|
|
|
|
+void buffer_create_buffer_object(struct wined3d_buffer *This,
|
|
|
|
@ -9680,7 +9689,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
|
|
|
|
|
struct wined3d_rendertarget_view
|
|
|
|
|
{
|
|
|
|
|
@@ -3296,9 +3583,11 @@ static inline struct wined3d_surface *wined3d_rendertarget_view_get_surface(
|
|
|
|
|
@@ -3291,9 +3577,11 @@ static inline struct wined3d_surface *wined3d_rendertarget_view_get_surface(
|
|
|
|
|
return texture->sub_resources[view->sub_resource_idx].u.surface;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -9692,7 +9701,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
struct wined3d_gl_view
|
|
|
|
|
{
|
|
|
|
|
GLenum target;
|
|
|
|
|
@@ -3340,7 +3629,12 @@ void wined3d_unordered_access_view_invalidate_location(struct wined3d_unordered_
|
|
|
|
|
@@ -3335,7 +3623,12 @@ void wined3d_unordered_access_view_invalidate_location(struct wined3d_unordered_
|
|
|
|
|
struct wined3d_swapchain_ops
|
|
|
|
|
{
|
|
|
|
|
void (*swapchain_present)(struct wined3d_swapchain *swapchain,
|
|
|
|
@ -9705,7 +9714,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
|
|
|
|
void (*swapchain_frontbuffer_updated)(struct wined3d_swapchain *swapchain);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -3377,6 +3671,10 @@ struct wined3d_swapchain
|
|
|
|
|
@@ -3372,6 +3665,10 @@ struct wined3d_swapchain
|
|
|
|
|
|
|
|
|
|
void wined3d_swapchain_activate(struct wined3d_swapchain *swapchain, BOOL activate) DECLSPEC_HIDDEN;
|
|
|
|
|
struct wined3d_context *swapchain_get_context(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
|
|
|
|