You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 9d897b73a877e5eaae26df87930c951ff8273c14
This commit is contained in:
@@ -1,129 +0,0 @@
|
||||
From 16e895f9770039a4d9129d577698c8dcec90334e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 23 Aug 2016 22:54:14 +0200
|
||||
Subject: wined3d: Create dummy 1d textures.
|
||||
|
||||
---
|
||||
dlls/wined3d/context.c | 12 ++++++++++++
|
||||
dlls/wined3d/device.c | 26 ++++++++++++++++++++++++++
|
||||
dlls/wined3d/wined3d_private.h | 2 ++
|
||||
3 files changed, 40 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index a423fac2079..65853209864 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -1514,6 +1514,7 @@ void context_bind_dummy_textures(const struct wined3d_device *device, const stru
|
||||
GL_EXTCALL(glActiveTexture(GL_TEXTURE0 + i));
|
||||
checkGLcall("glActiveTexture");
|
||||
|
||||
+ gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_1D, device->dummy_textures.tex_1d);
|
||||
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_2D, device->dummy_textures.tex_2d);
|
||||
|
||||
if (gl_info->supported[ARB_TEXTURE_RECTANGLE])
|
||||
@@ -1529,7 +1530,10 @@ void context_bind_dummy_textures(const struct wined3d_device *device, const stru
|
||||
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_CUBE_MAP_ARRAY, device->dummy_textures.tex_cube_array);
|
||||
|
||||
if (gl_info->supported[EXT_TEXTURE_ARRAY])
|
||||
+ {
|
||||
+ gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_1D_ARRAY, device->dummy_textures.tex_1d_array);
|
||||
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_2D_ARRAY, device->dummy_textures.tex_2d_array);
|
||||
+ }
|
||||
|
||||
if (gl_info->supported[ARB_TEXTURE_BUFFER_OBJECT])
|
||||
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_BUFFER, device->dummy_textures.tex_buffer);
|
||||
@@ -2411,6 +2415,14 @@ void context_bind_texture(struct wined3d_context *context, GLenum target, GLuint
|
||||
case GL_NONE:
|
||||
/* nothing to do */
|
||||
break;
|
||||
+ case GL_TEXTURE_1D:
|
||||
+ gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_1D, device->dummy_textures.tex_1d);
|
||||
+ checkGLcall("glBindTexture");
|
||||
+ break;
|
||||
+ case GL_TEXTURE_1D_ARRAY:
|
||||
+ gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_1D_ARRAY, device->dummy_textures.tex_1d_array);
|
||||
+ checkGLcall("glBindTexture");
|
||||
+ break;
|
||||
case GL_TEXTURE_2D:
|
||||
gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_2D, device->dummy_textures.tex_2d);
|
||||
checkGLcall("glBindTexture");
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index eef9818affd..5b598e2f3a4 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -628,6 +628,17 @@ static void create_dummy_textures(struct wined3d_device *device, struct wined3d_
|
||||
* to each texture stage when the currently set D3D texture is NULL. */
|
||||
context_active_texture(context, gl_info, 0);
|
||||
|
||||
+ gl_info->gl_ops.gl.p_glGenTextures(1, &device->dummy_textures.tex_1d);
|
||||
+ checkGLcall("glGenTextures");
|
||||
+ TRACE("Dummy 1D texture given name %u.\n", device->dummy_textures.tex_1d);
|
||||
+
|
||||
+ gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_1D, device->dummy_textures.tex_1d);
|
||||
+ checkGLcall("glBindTexture");
|
||||
+
|
||||
+ gl_info->gl_ops.gl.p_glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA8, 1, 0,
|
||||
+ GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, &color);
|
||||
+ checkGLcall("glTexImage1D");
|
||||
+
|
||||
gl_info->gl_ops.gl.p_glGenTextures(1, &device->dummy_textures.tex_2d);
|
||||
checkGLcall("glGenTextures");
|
||||
TRACE("Dummy 2D texture given name %u.\n", device->dummy_textures.tex_2d);
|
||||
@@ -704,6 +715,17 @@ static void create_dummy_textures(struct wined3d_device *device, struct wined3d_
|
||||
|
||||
if (gl_info->supported[EXT_TEXTURE_ARRAY])
|
||||
{
|
||||
+ gl_info->gl_ops.gl.p_glGenTextures(1, &device->dummy_textures.tex_1d_array);
|
||||
+ checkGLcall("glGenTextures");
|
||||
+ TRACE("Dummy 1D array texture given name %u.\n", device->dummy_textures.tex_1d_array);
|
||||
+
|
||||
+ gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_1D_ARRAY, device->dummy_textures.tex_1d_array);
|
||||
+ checkGLcall("glBindTexture");
|
||||
+
|
||||
+ gl_info->gl_ops.gl.p_glTexImage2D(GL_TEXTURE_1D_ARRAY, 0, GL_RGBA8, 1, 1, 0,
|
||||
+ GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, &color);
|
||||
+ checkGLcall("glTexImage2D");
|
||||
+
|
||||
gl_info->gl_ops.gl.p_glGenTextures(1, &device->dummy_textures.tex_2d_array);
|
||||
checkGLcall("glGenTextures");
|
||||
TRACE("Dummy 2D array texture given name %u.\n", device->dummy_textures.tex_2d_array);
|
||||
@@ -751,7 +773,10 @@ static void destroy_dummy_textures(struct wined3d_device *device, struct wined3d
|
||||
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_buffer);
|
||||
|
||||
if (gl_info->supported[EXT_TEXTURE_ARRAY])
|
||||
+ {
|
||||
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_2d_array);
|
||||
+ gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_1d_array);
|
||||
+ }
|
||||
|
||||
if (gl_info->supported[ARB_TEXTURE_CUBE_MAP_ARRAY])
|
||||
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_cube_array);
|
||||
@@ -766,6 +791,7 @@ static void destroy_dummy_textures(struct wined3d_device *device, struct wined3d
|
||||
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_rect);
|
||||
|
||||
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_2d);
|
||||
+ gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->dummy_textures.tex_1d);
|
||||
|
||||
checkGLcall("Delete dummy textures");
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index cdc240058a2..34d8f18d698 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2666,11 +2666,13 @@ struct wined3d_device
|
||||
/* Textures for when no other textures are mapped */
|
||||
struct
|
||||
{
|
||||
+ GLuint tex_1d;
|
||||
GLuint tex_2d;
|
||||
GLuint tex_rect;
|
||||
GLuint tex_3d;
|
||||
GLuint tex_cube;
|
||||
GLuint tex_cube_array;
|
||||
+ GLuint tex_1d_array;
|
||||
GLuint tex_2d_array;
|
||||
GLuint tex_buffer;
|
||||
} dummy_textures;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 94a182b744f90995ad229b9d69a936742cf0ee9f Mon Sep 17 00:00:00 2001
|
||||
From 186fdd1eee6aad18b7afdf34b669b3220ce8adf8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 23 Aug 2016 22:47:56 +0200
|
||||
Subject: wined3d: Add 1d texture resource type.
|
||||
Subject: [PATCH 02/17] wined3d: Add 1d texture resource type.
|
||||
|
||||
---
|
||||
dlls/wined3d/utils.c | 1 +
|
||||
@@ -9,10 +9,10 @@ Subject: wined3d: Add 1d texture resource type.
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
|
||||
index 79c322f9e6e..5b5bdc62375 100644
|
||||
index 960909f..04c791b 100644
|
||||
--- a/dlls/wined3d/utils.c
|
||||
+++ b/dlls/wined3d/utils.c
|
||||
@@ -4122,6 +4122,7 @@ const char *debug_d3dresourcetype(enum wined3d_resource_type resource_type)
|
||||
@@ -4281,6 +4281,7 @@ const char *debug_d3dresourcetype(enum wined3d_resource_type resource_type)
|
||||
#define WINED3D_TO_STR(x) case x: return #x
|
||||
WINED3D_TO_STR(WINED3D_RTYPE_NONE);
|
||||
WINED3D_TO_STR(WINED3D_RTYPE_BUFFER);
|
||||
@@ -21,10 +21,10 @@ index 79c322f9e6e..5b5bdc62375 100644
|
||||
WINED3D_TO_STR(WINED3D_RTYPE_TEXTURE_3D);
|
||||
#undef WINED3D_TO_STR
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index 8ead4979b5a..5cfcfed2b86 100644
|
||||
index ed7445e..f5abd9a 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -672,8 +672,9 @@ enum wined3d_resource_type
|
||||
@@ -676,8 +676,9 @@ enum wined3d_resource_type
|
||||
{
|
||||
WINED3D_RTYPE_NONE = 0,
|
||||
WINED3D_RTYPE_BUFFER = 1,
|
||||
@@ -35,7 +35,7 @@ index 8ead4979b5a..5cfcfed2b86 100644
|
||||
+ WINED3D_RTYPE_TEXTURE_3D = 4,
|
||||
};
|
||||
|
||||
enum wined3d_pool
|
||||
enum wined3d_query_type
|
||||
--
|
||||
2.12.2
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
From ff312baa8a0e884b148cba79f8a56f33312108dc Mon Sep 17 00:00:00 2001
|
||||
From 94af6271b8a843a4f51bf6d8039441a572bf4a36 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:19:25 +0200
|
||||
Subject: wined3d: Add is_power_of_two helper function.
|
||||
Subject: [PATCH 03/17] wined3d: Add is_power_of_two helper function.
|
||||
|
||||
---
|
||||
dlls/wined3d/texture.c | 20 +++++++-------------
|
||||
1 file changed, 7 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index d2b1be5..7ab894b 100644
|
||||
index c9210cb..2a172ee 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -101,6 +101,11 @@ static DWORD wined3d_resource_access_from_location(DWORD location)
|
||||
@@ -23,16 +23,16 @@ index d2b1be5..7ab894b 100644
|
||||
static void wined3d_texture_evict_sysmem(struct wined3d_texture *texture)
|
||||
{
|
||||
struct wined3d_texture_sub_resource *sub_resource;
|
||||
@@ -1156,7 +1161,7 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
|
||||
sub_resource->size = texture->slice_pitch;
|
||||
sub_resource->locations = WINED3D_LOCATION_DISCARDED;
|
||||
@@ -1408,7 +1413,7 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
|
||||
texture->target = GL_TEXTURE_2D;
|
||||
texture->sub_resources[0].u.surface->texture_target = texture->target;
|
||||
|
||||
- if (((width & (width - 1)) || (height & (height - 1))) && !gl_info->supported[ARB_TEXTURE_NON_POWER_OF_TWO]
|
||||
+ if ((!is_power_of_two(width) || !is_power_of_two(height)) && !gl_info->supported[ARB_TEXTURE_NON_POWER_OF_TWO]
|
||||
&& !gl_info->supported[ARB_TEXTURE_RECTANGLE] && !gl_info->supported[WINED3D_GL_NORMALIZED_TEXRECT])
|
||||
{
|
||||
texture->flags |= WINED3D_TEXTURE_COND_NP2_EMULATED;
|
||||
@@ -2460,18 +2465,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
@@ -2638,18 +2643,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
|
||||
if (!gl_info->supported[ARB_TEXTURE_NON_POWER_OF_TWO])
|
||||
{
|
||||
@@ -50,8 +50,8 @@ index d2b1be5..7ab894b 100644
|
||||
- if (pow2_w != desc->width || pow2_h != desc->height || pow2_d != desc->depth)
|
||||
+ if (!is_power_of_two(desc->width) || !is_power_of_two(desc->height) || !is_power_of_two(desc->depth))
|
||||
{
|
||||
if (desc->pool == WINED3D_POOL_SCRATCH)
|
||||
if (desc->usage & WINED3DUSAGE_SCRATCH)
|
||||
{
|
||||
--
|
||||
2.8.1
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 80118da171e87348ce58c22599202053fe95d3b6 Mon Sep 17 00:00:00 2001
|
||||
From b403de3b7d07a2323c866267261219e9c4eae9bc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 19:24:47 +0200
|
||||
Subject: wined3d: Create dummy 1d textures and surfaces.
|
||||
Subject: [PATCH 04/17] wined3d: Create dummy 1d textures and surfaces.
|
||||
|
||||
---
|
||||
dlls/wined3d/resource.c | 1 +
|
||||
@@ -9,10 +9,10 @@ Subject: wined3d: Create dummy 1d textures and surfaces.
|
||||
2 files changed, 175 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 611c61f..64dce8f 100644
|
||||
index e318888..d3878cc 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -94,6 +94,7 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
@@ -76,6 +76,7 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
resource_types[] =
|
||||
{
|
||||
{WINED3D_RTYPE_BUFFER, 0, WINED3D_GL_RES_TYPE_BUFFER},
|
||||
@@ -21,10 +21,10 @@ index 611c61f..64dce8f 100644
|
||||
{WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_TEX_RECT},
|
||||
{WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_RB},
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 90bd4a0..4ecd4ce 100644
|
||||
index 2a172ee..f81d7cf 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1448,6 +1448,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s
|
||||
@@ -1649,6 +1649,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s
|
||||
context, box, data, row_pitch, slice_pitch);
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ index 90bd4a0..4ecd4ce 100644
|
||||
static void texture2d_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)
|
||||
@@ -1882,6 +1921,137 @@ static const struct wined3d_resource_ops texture_resource_ops =
|
||||
@@ -2063,6 +2102,137 @@ static const struct wined3d_resource_ops texture_resource_ops =
|
||||
texture_resource_sub_resource_unmap,
|
||||
};
|
||||
|
||||
@@ -208,7 +208,7 @@ index 90bd4a0..4ecd4ce 100644
|
||||
static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc,
|
||||
unsigned int layer_count, unsigned int level_count, DWORD flags, struct wined3d_device *device,
|
||||
void *parent, const struct wined3d_parent_ops *parent_ops)
|
||||
@@ -2828,6 +2998,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
||||
@@ -2994,6 +3164,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
||||
|
||||
switch (desc->resource_type)
|
||||
{
|
||||
@@ -220,5 +220,5 @@ index 90bd4a0..4ecd4ce 100644
|
||||
hr = texture_init(object, desc, layer_count, level_count, flags, device, parent, parent_ops);
|
||||
break;
|
||||
--
|
||||
2.9.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
From 5011cd6f4e78bb9d00c5264e3b5033e36fe6b986 Mon Sep 17 00:00:00 2001
|
||||
From e03a886b0d0557a9ab5146bf0ac7a2d66830274c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:22:26 +0200
|
||||
Subject: wined3d: Implement preparation for 1d textures.
|
||||
Subject: [PATCH 05/17] wined3d: Implement preparation for 1d textures.
|
||||
|
||||
---
|
||||
dlls/wined3d/texture.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 54 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index e4ca54b..942337b 100644
|
||||
index f81d7cf..90c18e8 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1463,7 +1463,60 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -1673,7 +1673,60 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
|
||||
static void texture1d_prepare_texture(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb)
|
||||
{
|
||||
@@ -74,5 +74,5 @@ index e4ca54b..942337b 100644
|
||||
|
||||
static void texture1d_cleanup_sub_resources(struct wined3d_texture *texture)
|
||||
--
|
||||
2.8.1
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 227c20d336bca247834d85e6ddb6002680d3d700 Mon Sep 17 00:00:00 2001
|
||||
From b04889c49c973048a9ca14ee454e744d163b377c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:25:20 +0200
|
||||
Subject: wined3d: Implement uploading for 1d textures.
|
||||
Subject: [PATCH 06/17] wined3d: Implement uploading for 1d textures.
|
||||
|
||||
---
|
||||
dlls/wined3d/device.c | 3 ++-
|
||||
@@ -9,10 +9,10 @@ Subject: wined3d: Implement uploading for 1d textures.
|
||||
2 files changed, 69 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index bd08c352794..53ada28b11b 100644
|
||||
index 3961f55..eea1de8 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4055,7 +4055,8 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
@@ -4261,7 +4261,8 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
height = 1;
|
||||
depth = 1;
|
||||
}
|
||||
@@ -23,10 +23,10 @@ index bd08c352794..53ada28b11b 100644
|
||||
struct wined3d_texture *texture = texture_from_resource(resource);
|
||||
unsigned int level;
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 296ca898f81..a3f90773904 100644
|
||||
index 90c18e8..93b41e9 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1581,8 +1581,74 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
@@ -1657,8 +1657,74 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
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)
|
||||
{
|
||||
@@ -103,5 +103,5 @@ index 296ca898f81..a3f90773904 100644
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
--
|
||||
2.11.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
From d0b2b377e3be8800332a32b7feb9e3c734a5b25a Mon Sep 17 00:00:00 2001
|
||||
From abf26ab2c3d8fd1989bb145251899378bb4c1a0f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:38:47 +0200
|
||||
Subject: wined3d: Implement loading from system memory and buffers to (s)rgb
|
||||
1d textures.
|
||||
Subject: [PATCH 07/17] wined3d: Implement loading from system memory and
|
||||
buffers to (s)rgb 1d textures.
|
||||
|
||||
---
|
||||
dlls/wined3d/texture.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 67 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 614b4cf..2accfe7 100644
|
||||
index 93b41e9..c5a4f0c 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1530,10 +1530,75 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
@@ -1731,10 +1731,75 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
||||
struct wined3d_context *context, DWORD location)
|
||||
{
|
||||
@@ -91,5 +91,5 @@ index 614b4cf..2accfe7 100644
|
||||
|
||||
static void texture1d_prepare_texture(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb)
|
||||
--
|
||||
2.9.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
From 17119e7e24b0d78fa85945afba9e92349c69c03c Mon Sep 17 00:00:00 2001
|
||||
From 8efaebed047f1b3a466f74fc982e5a3b22326ad9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:41:05 +0200
|
||||
Subject: wined3d: Implement downloading from (s)rgb 1d textures to system
|
||||
memory.
|
||||
Subject: [PATCH 08/17] wined3d: Implement downloading from (s)rgb 1d textures
|
||||
to system memory.
|
||||
|
||||
---
|
||||
dlls/wined3d/texture.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 112 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 72e2baf..48f3cde 100644
|
||||
index c5a4f0c..198d2a6 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1507,6 +1507,76 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
@@ -1728,6 +1728,76 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@@ -89,7 +89,7 @@ index 72e2baf..48f3cde 100644
|
||||
static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
||||
struct wined3d_context *context, DWORD location)
|
||||
{
|
||||
@@ -1569,6 +1639,48 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -1790,6 +1860,48 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -139,5 +139,5 @@ index 72e2baf..48f3cde 100644
|
||||
FIXME("Implement %s loading from %s.\n", wined3d_debug_location(location),
|
||||
wined3d_debug_location(sub_resource->locations));
|
||||
--
|
||||
2.8.1
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
From b791c5d95a0526a52a4e9abef7e2809eaf6e6b2a Mon Sep 17 00:00:00 2001
|
||||
From ae4b60f9b626f36b7db26a5e93720c46b2a6c14b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:44:14 +0200
|
||||
Subject: wined3d: Implement converting between (s)rgb 1d textures.
|
||||
Subject: [PATCH 09/17] wined3d: Implement converting between (s)rgb 1d
|
||||
textures.
|
||||
|
||||
---
|
||||
dlls/wined3d/texture.c | 31 +++++++++++++++++++++++++++++++
|
||||
1 file changed, 31 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 0b7c53d..74de20c 100644
|
||||
index 198d2a6..6f27fb7 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1597,6 +1597,29 @@ static void texture1d_download_data(struct wined3d_texture *texture, unsigned in
|
||||
@@ -1798,6 +1798,29 @@ static void texture1d_download_data(struct wined3d_texture *texture, unsigned in
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@@ -41,7 +42,7 @@ index 0b7c53d..74de20c 100644
|
||||
static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
||||
struct wined3d_context *context, DWORD location)
|
||||
{
|
||||
@@ -1652,6 +1675,14 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -1853,6 +1876,14 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
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);
|
||||
}
|
||||
@@ -57,5 +58,5 @@ index 0b7c53d..74de20c 100644
|
||||
{
|
||||
FIXME("Implement 1d texture loading from %s.\n", wined3d_debug_location(sub_resource->locations));
|
||||
--
|
||||
2.9.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
From d2b758c7547d63af92250da595967923b1c4ecca Mon Sep 17 00:00:00 2001
|
||||
From b1e820f73fe2603a0798a649dcb6a9b11de14292 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 19:11:03 +0200
|
||||
Subject: wined3d: Check for 1d textures in wined3d_texture_update_desc.
|
||||
Subject: [PATCH 10/17] wined3d: Check for 1d textures in
|
||||
wined3d_texture_update_desc.
|
||||
|
||||
---
|
||||
dlls/wined3d/texture.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 9c17b45..4703bc8 100644
|
||||
index 6f27fb7..315d22a 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1113,6 +1113,12 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
|
||||
@@ -1357,6 +1357,12 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -25,5 +26,5 @@ index 9c17b45..4703bc8 100644
|
||||
{
|
||||
WARN("Texture is mapped.\n");
|
||||
--
|
||||
2.8.1
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
From d11ec46eaaa4f0cd22684502ea9513198cc7f1c0 Mon Sep 17 00:00:00 2001
|
||||
From 9d376e1a79487f9bf5bf4d834018a495f3dda1a2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 17:00:12 +0200
|
||||
Subject: wined3d: Check if 1d teture is still in use before releasing.
|
||||
Subject: [PATCH 11/17] wined3d: Check if 1d teture is still in use before
|
||||
releasing.
|
||||
|
||||
---
|
||||
dlls/wined3d/device.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 1445399..f67627a 100644
|
||||
index eea1de8..96a3093 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -5000,6 +5000,7 @@ void device_resource_released(struct wined3d_device *device, struct wined3d_reso
|
||||
@@ -5075,6 +5075,7 @@ void device_resource_released(struct wined3d_device *device, struct wined3d_reso
|
||||
|
||||
switch (type)
|
||||
{
|
||||
@@ -20,5 +21,5 @@ index 1445399..f67627a 100644
|
||||
case WINED3D_RTYPE_TEXTURE_3D:
|
||||
for (i = 0; i < MAX_COMBINED_SAMPLERS; ++i)
|
||||
--
|
||||
2.8.1
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
From 82eb096a5585a8baaf2258943229b3a001d1bdb9 Mon Sep 17 00:00:00 2001
|
||||
From 2d5f825fb62d92357cade36e6e37055cd66c96ad Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 17:06:41 +0200
|
||||
Subject: wined3d: Generate glsl samplers for 1d texture arrays.
|
||||
Subject: [PATCH 12/17] wined3d: Generate glsl samplers for 1d texture arrays.
|
||||
|
||||
---
|
||||
dlls/wined3d/glsl_shader.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index c8a970f1eb..1a25701cb9 100644
|
||||
index 82df6aa..2e7285b 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -2401,6 +2401,13 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
@@ -2577,6 +2577,13 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
sampler_type = "samplerCube";
|
||||
break;
|
||||
|
||||
@@ -26,5 +26,5 @@ index c8a970f1eb..1a25701cb9 100644
|
||||
if (shadow_sampler)
|
||||
sampler_type = "sampler2DArrayShadow";
|
||||
--
|
||||
2.11.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 297e02795ff39b1ee67bca1e54d93867ba151fd6 Mon Sep 17 00:00:00 2001
|
||||
From d243fabc017d9c3d2deede80378793771d6acd22 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 19:09:41 +0200
|
||||
Subject: wined3d: Add support for 1d textures in
|
||||
Subject: [PATCH 13/17] wined3d: Add support for 1d textures in
|
||||
context_attach_gl_texture_fbo.
|
||||
|
||||
---
|
||||
@@ -9,7 +9,7 @@ Subject: wined3d: Add support for 1d textures in
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index 09681834d9..598622d3e7 100644
|
||||
index e3e4834..d3012d2 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -139,7 +139,8 @@ static void context_attach_gl_texture_fbo(struct wined3d_context *context,
|
||||
@@ -36,5 +36,5 @@ index 09681834d9..598622d3e7 100644
|
||||
{
|
||||
gl_info->fbo_ops.glFramebufferTexture2D(fbo_target, attachment,
|
||||
--
|
||||
2.11.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
From 2fa42aeeeeafb6eb2da908b43ee8137249fcfeb4 Mon Sep 17 00:00:00 2001
|
||||
From 7ef5d328a51af66720dc2f7b726225ac220fb7ac Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 19:21:20 +0200
|
||||
Subject: wined3d: Handle 1d textures in texture_activate_dimensions.
|
||||
Subject: [PATCH 14/17] wined3d: Handle 1d textures in
|
||||
texture_activate_dimensions.
|
||||
|
||||
---
|
||||
dlls/wined3d/utils.c | 28 ++++++++++++++++++++++++++++
|
||||
1 file changed, 28 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
|
||||
index 4e00aad..b903bb6 100644
|
||||
index 04c791b..6f5e1ce 100644
|
||||
--- a/dlls/wined3d/utils.c
|
||||
+++ b/dlls/wined3d/utils.c
|
||||
@@ -5425,7 +5425,27 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
@@ -5755,7 +5755,27 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
{
|
||||
switch (texture->target)
|
||||
{
|
||||
@@ -39,7 +40,7 @@ index 4e00aad..b903bb6 100644
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
|
||||
checkGLcall("glDisable(GL_TEXTURE_3D)");
|
||||
if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
|
||||
@@ -5442,6 +5462,8 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
@@ -5772,6 +5792,8 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
checkGLcall("glEnable(GL_TEXTURE_2D)");
|
||||
break;
|
||||
case GL_TEXTURE_RECTANGLE_ARB:
|
||||
@@ -48,7 +49,7 @@ index 4e00aad..b903bb6 100644
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_2D);
|
||||
checkGLcall("glDisable(GL_TEXTURE_2D)");
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
|
||||
@@ -5465,12 +5487,16 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
@@ -5795,12 +5817,16 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_RECTANGLE_ARB);
|
||||
checkGLcall("glDisable(GL_TEXTURE_RECTANGLE_ARB)");
|
||||
}
|
||||
@@ -65,7 +66,7 @@ index 4e00aad..b903bb6 100644
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_2D);
|
||||
checkGLcall("glDisable(GL_TEXTURE_2D)");
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
|
||||
@@ -5487,6 +5513,8 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
@@ -5817,6 +5843,8 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -75,5 +76,5 @@ index 4e00aad..b903bb6 100644
|
||||
checkGLcall("glEnable(GL_TEXTURE_2D)");
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
|
||||
--
|
||||
2.8.1
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,27 +1,28 @@
|
||||
From 3e9426e9eddb491050a780e854ad7d7f889e91bd Mon Sep 17 00:00:00 2001
|
||||
From 408eed799abaa5c3d20af6e1d7e4cbe399d355a4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 19:26:07 +0200
|
||||
Subject: wined3d: Allow creation of 1d shader views.
|
||||
Subject: [PATCH 15/17] wined3d: Allow creation of 1d shader views.
|
||||
|
||||
---
|
||||
dlls/wined3d/view.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
dlls/wined3d/view.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
|
||||
index 82fac25603..a809344126 100644
|
||||
index b06dacc..66c9479 100644
|
||||
--- a/dlls/wined3d/view.c
|
||||
+++ b/dlls/wined3d/view.c
|
||||
@@ -46,6 +46,10 @@ static GLenum get_texture_view_target(const struct wined3d_gl_info *gl_info,
|
||||
{
|
||||
{GL_TEXTURE_CUBE_MAP, 0, GL_TEXTURE_CUBE_MAP},
|
||||
{GL_TEXTURE_RECTANGLE, 0, GL_TEXTURE_RECTANGLE},
|
||||
+ {GL_TEXTURE_1D, 0, GL_TEXTURE_1D},
|
||||
+ {GL_TEXTURE_1D, WINED3D_VIEW_TEXTURE_ARRAY, GL_TEXTURE_1D_ARRAY},
|
||||
+ {GL_TEXTURE_1D_ARRAY, 0, GL_TEXTURE_1D},
|
||||
+ {GL_TEXTURE_1D_ARRAY, WINED3D_VIEW_TEXTURE_ARRAY, GL_TEXTURE_1D_ARRAY},
|
||||
{GL_TEXTURE_2D, 0, GL_TEXTURE_2D},
|
||||
{GL_TEXTURE_2D, WINED3D_VIEW_TEXTURE_ARRAY, GL_TEXTURE_2D_ARRAY},
|
||||
{GL_TEXTURE_2D_ARRAY, 0, GL_TEXTURE_2D},
|
||||
@@ -48,6 +48,11 @@ static GLenum get_texture_view_target(const struct wined3d_gl_info *gl_info,
|
||||
{GL_TEXTURE_RECTANGLE, 0, GL_TEXTURE_RECTANGLE},
|
||||
{GL_TEXTURE_3D, 0, GL_TEXTURE_3D},
|
||||
|
||||
+ {GL_TEXTURE_1D, 0, GL_TEXTURE_1D},
|
||||
+ {GL_TEXTURE_1D, WINED3D_VIEW_TEXTURE_ARRAY, GL_TEXTURE_1D_ARRAY},
|
||||
+ {GL_TEXTURE_1D_ARRAY, 0, GL_TEXTURE_1D},
|
||||
+ {GL_TEXTURE_1D_ARRAY, WINED3D_VIEW_TEXTURE_ARRAY, GL_TEXTURE_1D_ARRAY},
|
||||
+
|
||||
{GL_TEXTURE_2D, 0, GL_TEXTURE_2D},
|
||||
{GL_TEXTURE_2D, WINED3D_VIEW_TEXTURE_ARRAY, GL_TEXTURE_2D_ARRAY},
|
||||
{GL_TEXTURE_2D_ARRAY, 0, GL_TEXTURE_2D},
|
||||
--
|
||||
2.11.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,33 +1,19 @@
|
||||
From e2452eb12f42fa733647dca9980ac6e4efad1327 Mon Sep 17 00:00:00 2001
|
||||
From 3456b972410f13cdbe20ee3533b90022f08c8988 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 22:04:39 +0200
|
||||
Subject: d3d11: Improve ID3D11Device_CheckFormatSupport.
|
||||
Subject: [PATCH 16/17] d3d11: Improve ID3D11Device_CheckFormatSupport.
|
||||
|
||||
---
|
||||
dlls/d3d10core/tests/device.c | 2 +-
|
||||
dlls/d3d11/device.c | 26 +++++++++++++++++++-------
|
||||
dlls/d3d11/tests/d3d11.c | 33 ++++++++++++++++++++++++++++++++-
|
||||
dlls/wined3d/directx.c | 21 ++++++++++++++++++++-
|
||||
4 files changed, 72 insertions(+), 10 deletions(-)
|
||||
dlls/d3d11/device.c | 17 ++++++++++++-----
|
||||
dlls/d3d11/tests/d3d11.c | 33 ++++++++++++++++++++++++++++++++-
|
||||
dlls/wined3d/directx.c | 21 ++++++++++++++++++++-
|
||||
3 files changed, 64 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c
|
||||
index 364a2abfe7f..78ae08b8c6c 100644
|
||||
--- a/dlls/d3d10core/tests/device.c
|
||||
+++ b/dlls/d3d10core/tests/device.c
|
||||
@@ -10565,7 +10565,7 @@ static void test_required_format_support(void)
|
||||
for (format = DXGI_FORMAT_UNKNOWN; format <= DXGI_FORMAT_B4G4R4A4_UNORM; ++format)
|
||||
{
|
||||
hr = ID3D10Device_CheckFormatSupport(device, format, &format_support[format]);
|
||||
- todo_wine ok(hr == S_OK || (hr == E_FAIL && !format_support[format]),
|
||||
+ ok(hr == S_OK || (hr == E_FAIL && !format_support[format]),
|
||||
"Got unexpected result for format %#x: hr %#x, format_support %#x.\n",
|
||||
format, hr, format_support[format]);
|
||||
}
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index e84c3655e08..4e7d988075e 100644
|
||||
index f65c994..43a940f 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -3332,17 +3332,24 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFormatSupport(ID3D11Device *i
|
||||
@@ -3224,17 +3224,24 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFormatSupport(ID3D11Device *i
|
||||
}
|
||||
flag_mapping[] =
|
||||
{
|
||||
@@ -57,29 +43,11 @@ index e84c3655e08..4e7d988075e 100644
|
||||
{
|
||||
WARN("Invalid format %#x.\n", format);
|
||||
*format_support = 0;
|
||||
@@ -5550,10 +5557,15 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreateCounter(ID3D10Device1 *iface
|
||||
static HRESULT STDMETHODCALLTYPE d3d10_device_CheckFormatSupport(ID3D10Device1 *iface,
|
||||
DXGI_FORMAT format, UINT *format_support)
|
||||
{
|
||||
- FIXME("iface %p, format %s, format_support %p stub!\n",
|
||||
+ struct d3d_device *device = impl_from_ID3D10Device(iface);
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ TRACE("iface %p, format %s, format_support %p.\n",
|
||||
iface, debug_dxgi_format(format), format_support);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ hr = d3d11_device_CheckFormatSupport(&device->ID3D11Device_iface, format, format_support);
|
||||
+ if (SUCCEEDED(hr)) *format_support &= 0x8ffffff;
|
||||
+ return hr;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d10_device_CheckMultisampleQualityLevels(ID3D10Device1 *iface,
|
||||
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
|
||||
index 84ffe4e31a2..d64d8ef7acc 100644
|
||||
index e0769a7..af6c9cf 100644
|
||||
--- a/dlls/d3d11/tests/d3d11.c
|
||||
+++ b/dlls/d3d11/tests/d3d11.c
|
||||
@@ -14046,7 +14046,8 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
@@ -16027,7 +16027,8 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
|
||||
if (formats[i].fl_required <= feature_level)
|
||||
{
|
||||
@@ -89,7 +57,7 @@ index 84ffe4e31a2..d64d8ef7acc 100644
|
||||
format, feature_name, feature_level, format_support[format]);
|
||||
continue;
|
||||
}
|
||||
@@ -14059,6 +14060,9 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
@@ -16040,6 +16041,9 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -99,7 +67,7 @@ index 84ffe4e31a2..d64d8ef7acc 100644
|
||||
ok(!supported, "Format %#x - %s supported, feature level %#x, format support %#x.\n",
|
||||
format, feature_name, feature_level, format_support[format]);
|
||||
}
|
||||
@@ -14066,6 +14070,15 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
@@ -16047,6 +16051,15 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
|
||||
static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
|
||||
{
|
||||
@@ -115,7 +83,7 @@ index 84ffe4e31a2..d64d8ef7acc 100644
|
||||
unsigned int format_support[DXGI_FORMAT_B4G4R4A4_UNORM + 1];
|
||||
struct device_desc device_desc;
|
||||
ID3D11Device *device;
|
||||
@@ -14093,6 +14106,24 @@ static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
|
||||
@@ -16074,6 +16087,24 @@ static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
|
||||
ok(hr == E_FAIL, "Got unexpected hr %#x.\n", hr);
|
||||
ok(!support, "Got unexpected format support %#x.\n", support);
|
||||
|
||||
@@ -141,10 +109,10 @@ index 84ffe4e31a2..d64d8ef7acc 100644
|
||||
for (format = DXGI_FORMAT_UNKNOWN; format <= DXGI_FORMAT_B4G4R4A4_UNORM; ++format)
|
||||
{
|
||||
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
|
||||
index 9614e16d9dc..6fe22003489 100644
|
||||
index 924cc72..a0feb45 100644
|
||||
--- a/dlls/wined3d/directx.c
|
||||
+++ b/dlls/wined3d/directx.c
|
||||
@@ -5254,10 +5254,23 @@ HRESULT CDECL wined3d_check_device_format(const struct wined3d *wined3d, UINT ad
|
||||
@@ -5317,10 +5317,23 @@ HRESULT CDECL wined3d_check_device_format(const struct wined3d *wined3d, UINT ad
|
||||
case WINED3D_RTYPE_NONE:
|
||||
allowed_usage = WINED3DUSAGE_DEPTHSTENCIL
|
||||
| WINED3DUSAGE_RENDERTARGET;
|
||||
@@ -169,7 +137,7 @@ index 9614e16d9dc..6fe22003489 100644
|
||||
case WINED3D_RTYPE_TEXTURE_2D:
|
||||
allowed_usage = WINED3DUSAGE_DEPTHSTENCIL
|
||||
| WINED3DUSAGE_RENDERTARGET
|
||||
@@ -5314,6 +5327,12 @@ HRESULT CDECL wined3d_check_device_format(const struct wined3d *wined3d, UINT ad
|
||||
@@ -5377,6 +5390,12 @@ HRESULT CDECL wined3d_check_device_format(const struct wined3d *wined3d, UINT ad
|
||||
gl_type = gl_type_end = WINED3D_GL_RES_TYPE_TEX_3D;
|
||||
break;
|
||||
|
||||
@@ -183,5 +151,5 @@ index 9614e16d9dc..6fe22003489 100644
|
||||
FIXME("Unhandled resource type %s.\n", debug_d3dresourcetype(resource_type));
|
||||
return WINED3DERR_NOTAVAILABLE;
|
||||
--
|
||||
2.13.0
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
From 9d41dd847845cf31ca0f194c1418b03eb164cf37 Mon Sep 17 00:00:00 2001
|
||||
From 8615c6ef61159a6c5df1b9088c1de1f64410d233 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 7 Jul 2017 04:03:19 +0200
|
||||
Subject: d3d11: Allow DXGI_FORMAT_UNKNOWN in CheckFormatSupport and improve
|
||||
tests.
|
||||
Subject: [PATCH 17/17] d3d11: Allow DXGI_FORMAT_UNKNOWN in CheckFormatSupport
|
||||
and improve tests.
|
||||
|
||||
---
|
||||
dlls/d3d11/device.c | 2 +-
|
||||
@@ -10,10 +10,10 @@ Subject: d3d11: Allow DXGI_FORMAT_UNKNOWN in CheckFormatSupport and improve
|
||||
2 files changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index 8642bf50fb1..3b7d55828a5 100644
|
||||
index 43a940f..5ed5f4d 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -5567,7 +5567,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFormatSupport(ID3D11Device *i
|
||||
@@ -3241,7 +3241,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFormatSupport(ID3D11Device *i
|
||||
FIXME("iface %p, format %u, format_support %p partial-stub!\n", iface, format, format_support);
|
||||
|
||||
wined3d_format = wined3dformat_from_dxgi_format(format);
|
||||
@@ -23,10 +23,10 @@ index 8642bf50fb1..3b7d55828a5 100644
|
||||
WARN("Invalid format %#x.\n", format);
|
||||
*format_support = 0;
|
||||
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
|
||||
index c8c9037fced..241320d0a74 100644
|
||||
index af6c9cf..935918e 100644
|
||||
--- a/dlls/d3d11/tests/d3d11.c
|
||||
+++ b/dlls/d3d11/tests/d3d11.c
|
||||
@@ -14744,7 +14744,7 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
@@ -16051,7 +16051,7 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
|
||||
|
||||
static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
|
||||
{
|
||||
@@ -35,7 +35,7 @@ index c8c9037fced..241320d0a74 100644
|
||||
D3D11_FORMAT_SUPPORT_TEXTURE1D | D3D11_FORMAT_SUPPORT_TEXTURE2D |
|
||||
D3D11_FORMAT_SUPPORT_TEXTURE3D | D3D11_FORMAT_SUPPORT_TEXTURECUBE |
|
||||
D3D11_FORMAT_SUPPORT_MIP | D3D11_FORMAT_SUPPORT_MIP_AUTOGEN |
|
||||
@@ -14787,12 +14787,10 @@ static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
|
||||
@@ -16094,12 +16094,10 @@ static void test_required_format_support(const D3D_FEATURE_LEVEL feature_level)
|
||||
ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %#x.\n", hr);
|
||||
}
|
||||
|
||||
@@ -50,5 +50,5 @@ index c8c9037fced..241320d0a74 100644
|
||||
ok(hr == S_OK, "Expected S_OK, got %#x.\n", hr);
|
||||
ok((support & expected) == expected, "Expected the following features to be supported: %#x.\n",
|
||||
--
|
||||
2.13.1
|
||||
1.9.1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user