[PATCH vkd3d 23/41] vkd3d: Add DXIL test for stream output.
Hans-Kristian Arntzen
post at arntzen-software.no
Wed Jan 29 05:51:54 CST 2020
Signed-off-by: Hans-Kristian Arntzen <post at arntzen-software.no>
---
tests/d3d12.c | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/tests/d3d12.c b/tests/d3d12.c
index a499115..da7c23c 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -32706,7 +32706,7 @@ static void test_primitive_restart(void)
destroy_test_context(&context);
}
-static void test_vertex_shader_stream_output(void)
+static void test_vertex_shader_stream_output(bool use_dxil)
{
D3D12_GRAPHICS_PIPELINE_STATE_DESC pso_desc;
ID3D12Resource *counter_buffer, *so_buffer;
@@ -32739,11 +32739,21 @@ static void test_vertex_shader_stream_output(void)
desc.no_pipeline = true;
if (!init_test_context(&context, &desc))
return;
+
+ if (use_dxil && !context_supports_dxil(&context))
+ {
+ destroy_test_context(&context);
+ return;
+ }
+
device = context.device;
command_list = context.list;
queue = context.queue;
- init_pipeline_state_desc(&pso_desc, context.root_signature, 0, NULL, NULL, NULL);
+ if (use_dxil)
+ init_pipeline_state_desc_dxil(&pso_desc, context.root_signature, 0, NULL, NULL, NULL);
+ else
+ init_pipeline_state_desc(&pso_desc, context.root_signature, 0, NULL, NULL, NULL);
pso_desc.StreamOutput.NumEntries = ARRAY_SIZE(so_declaration);
pso_desc.StreamOutput.pSODeclaration = so_declaration;
pso_desc.StreamOutput.pBufferStrides = strides;
@@ -32811,6 +32821,16 @@ static void test_vertex_shader_stream_output(void)
destroy_test_context(&context);
}
+static void test_vertex_shader_stream_output_dxbc(void)
+{
+ test_vertex_shader_stream_output(false);
+}
+
+static void test_vertex_shader_stream_output_dxil(void)
+{
+ test_vertex_shader_stream_output(true);
+}
+
static void test_read_write_subresource(void)
{
D3D12_TEXTURE_COPY_LOCATION src_location, dst_location;
@@ -35361,7 +35381,8 @@ START_TEST(d3d12)
run_test(test_shader_sample_position);
run_test(test_shader_eval_attribute);
run_test(test_primitive_restart);
- run_test(test_vertex_shader_stream_output);
+ run_test(test_vertex_shader_stream_output_dxbc);
+ run_test(test_vertex_shader_stream_output_dxil);
run_test(test_read_write_subresource);
run_test(test_queue_wait);
run_test(test_graphics_compute_queue_synchronization);
--
2.25.0
More information about the wine-devel
mailing list