tests/shader_runner: Allocate the d3d11/d3d12 resource_data arrays dynamically.

This commit is contained in:
Shaun Ren
2025-08-23 00:14:56 -04:00
committed by Henri Verbeet
parent 40789b32e7
commit d037b45718
Notes: Henri Verbeet 2025-09-03 13:09:54 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1698
2 changed files with 7 additions and 8 deletions

View File

@@ -83,14 +83,12 @@ static struct resource *d3d12_runner_create_resource(struct shader_runner *r, co
struct d3d12_shader_runner *runner = d3d12_shader_runner(r);
struct test_context *test_context = &runner->test_context;
ID3D12Device *device = test_context->device;
D3D12_SUBRESOURCE_DATA resource_data[6] = {0};
D3D12_RESOURCE_STATES initial_state, state;
D3D12_SUBRESOURCE_DATA *resource_data;
struct d3d12_resource *resource;
unsigned int buffer_offset = 0;
if (params->desc.level_count > ARRAY_SIZE(resource_data))
fatal_error("Level count %u is too high.\n", params->desc.level_count);
resource_data = calloc(params->desc.layer_count * params->desc.level_count, sizeof(*resource_data));
resource = calloc(1, sizeof(*resource));
init_resource(&resource->r, params);
@@ -294,6 +292,7 @@ static struct resource *d3d12_runner_create_resource(struct shader_runner *r, co
break;
}
free(resource_data);
return &resource->r;
}