[PATCH 2/7] wined3d: Allow creating shader resource views with NULL description.
Józef Kucia
jkucia at codeweavers.com
Fri Mar 24 11:14:43 CDT 2017
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
For ddraw, d3d8 and d3d9.
---
dlls/wined3d/view.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index ac558a4..f6fbdc3 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -596,10 +596,30 @@ static HRESULT wined3d_shader_resource_view_init(struct wined3d_shader_resource_
const struct wined3d_view_desc *desc, struct wined3d_resource *resource,
void *parent, const struct wined3d_parent_ops *parent_ops)
{
+ struct wined3d_view_desc default_desc;
+
view->refcount = 1;
view->parent = parent;
view->parent_ops = parent_ops;
+ if (!desc)
+ {
+ struct wined3d_texture *texture;
+
+ if (resource->type == WINED3D_RTYPE_BUFFER)
+ return E_INVALIDARG;
+
+ texture = texture_from_resource(resource);
+
+ default_desc.format_id = resource->format->id;
+ default_desc.flags = 0;
+ default_desc.u.texture.level_idx = 0;
+ default_desc.u.texture.level_count = texture->level_count;
+ default_desc.u.texture.layer_idx = 0;
+ default_desc.u.texture.layer_count = texture->layer_count;
+ desc = &default_desc;
+ }
+
if (!(view->format = validate_shader_resource_view(desc, resource, FALSE)))
return E_INVALIDARG;
view->desc = *desc;
--
2.10.2
More information about the wine-patches
mailing list