Draft: nine: map instancedata_mask, ensure array accesses use pre-mapped indices
What does this MR do and why?
stream_usage_mask
contains the bits corresponding to post-translated
(hole-removal) stream-numbers. It is compared/bitwise-anded with
stream_instancedata_mask
, but stream_instancedata_mask
contained bits
corresponding to pre-translated stream-numbers. Apply the translation
to stream_instancedata_mask
also, so that both masks maintain bits for
post-translated stream-numbers.
Despite the translation, the reading of stream_freq
and vtxstride
arrays must use pre-translated indices.
Tests:
mesa tests summary
[1/2] Running all tests.
1/62 mesa:util / drirc xml validation OK 0.03s
2/62 mesa:util / process OK 0.01s
3/62 mesa:util / xmlconfig OK 0.03s
4/62 mesa:util / process_with_overrides OK 0.02s
5/62 mesa:util / clear OK 0.02s
6/62 mesa:util / collision OK 0.02s
7/62 mesa:util / delete_and_lookup OK 0.02s
8/62 mesa:util / delete_management OK 0.02s
9/62 mesa:util / destroy_callback OK 0.02s
10/62 mesa:util / insert_and_lookup OK 0.02s
11/62 mesa:util / insert_many OK 0.02s
12/62 mesa:util / null_destroy OK 0.02s
13/62 mesa:util / random_entry OK 0.02s
14/62 mesa:util / remove_key OK 0.02s
15/62 mesa:util / remove_null OK 0.02s
16/62 mesa:util / replacement OK 0.02s
17/62 mesa:util / vma_random OK 0.02s
18/62 mesa:format / srgb OK 0.02s
19/62 mesa:format / u_format_compatible_test OK 0.03s
20/62 mesa:format / u_format_test OK 0.05s
21/62 mesa:compiler+spirv / spirv_tests OK 0.02s
22/62 mesa:intel / genxml sort gen4.xml OK 0.14s
23/62 mesa:intel / genxml sort gen45.xml OK 0.25s
24/62 mesa:compiler+nir / nir_tests OK 0.58s
25/62 mesa:compiler+nir / nir_algebraic_parser OK 0.62s
26/62 mesa:intel / genxml sort gen5.xml OK 0.19s
27/62 mesa:intel / genxml sort gen6.xml OK 0.20s
28/62 mesa:intel / genxml sort gen7.xml OK 0.20s
29/62 mesa:intel / genxml sort gen75.xml OK 0.19s
30/62 mesa:intel / genxml sort gen8.xml OK 0.21s
31/62 mesa:intel / genxml sort gen11.xml OK 0.21s
32/62 mesa:intel / genxml sort gen9.xml OK 0.24s
33/62 mesa:intel / genxml sort gen12.xml OK 0.16s
34/62 mesa:intel / genxml sort gen20.xml OK 0.14s
35/62 mesa:intel / genxml sort gen125.xml OK 0.19s
36/62 mesa:intel / intel_device_info_test OK 0.01s
37/62 mesa:intel / isl_surf_get_image_offset OK 0.01s
38/62 mesa:intel / genxml sort gen125_rt.xml OK 0.13s
39/62 mesa:intel / isl_aux_info OK 0.02s
40/62 mesa:intel / isl_tile_std_y OK 0.02s
41/62 mesa:intel / isl_tilememcpy OK 0.02s
42/62 mesa:intel / genxml sort gen20_rt.xml OK 0.12s
43/62 mesa:intel / genxml_test OK 0.01s
44/62 mesa:gallium / gallium-aux OK 0.01s
45/62 mesa:intel / intel_compiler_brw_tests OK 0.86s
46/62 mesa:intel / intel_compiler_elk_tests OK 1.42s
47/62 mesa:llvmpipe / lp_test_arit OK 0.59s
48/62 mesa:util / util_tests OK 4.71s
49/62 mesa:llvmpipe / lp_test_printf OK 0.05s
50/62 mesa:gallium / pipe_barrier_test OK 0.91s
51/62 mesa:gallium / u_half_test OK 0.02s
52/62 mesa / translate_test x86 OK 0.03s
53/62 mesa / translate_test nosse OK 0.02s
54/62 mesa / translate_test sse OK 0.03s
55/62 mesa / translate_test sse2 OK 0.02s
56/62 mesa / translate_test sse3 OK 0.03s
57/62 mesa / translate_test sse4.1 OK 0.03s
58/62 mesa:gallium / u_prim_verts_test OK 0.02s
59/62 mesa:mesa / main-test OK 0.02s
60/62 mesa:llvmpipe / lp_test_format OK 5.12s
61/62 mesa:llvmpipe / lp_test_conv OK 4.01s
62/62 mesa:llvmpipe / lp_test_blend OK 10.90s
Xnine tests summary
[==========] 110 tests from 1 test suite ran. (16586 ms total)
[ PASSED ] 103 tests.
[ FAILED ] 7 tests, listed below:
[ FAILED ] Xnine.lighting
[ FAILED ] Xnine.fog
[ FAILED ] Xnine.blend
[ FAILED ] Xnine.depth_buffer
[ FAILED ] Xnine.fp_special
[ FAILED ] Xnine.table_fog_zw
[ FAILED ] Xnine.drawindexedprimitiveup
The Xnine tests with the distro-provided 24.1.1 32-bit d3dadapter9.so
crashes within crocus_populate_vs_key
.
To establish a baseline, the Xnine tests were run with the distro-provided 24.1.1 64-bit d3dadapter9.so, that did not experience any crash.
Xnine tests summary, baseline
[==========] 110 tests from 1 test suite ran. (14888 ms total)
[ PASSED ] 101 tests.
[ FAILED ] 9 tests, listed below:
[ FAILED ] Xnine.lighting
[ FAILED ] Xnine.specular_lighting
[ FAILED ] Xnine.fog
[ FAILED ] Xnine.blend
[ FAILED ] Xnine.depth_buffer
[ FAILED ] Xnine.fp_special
[ FAILED ] Xnine.stencil_cull
[ FAILED ] Xnine.table_fog_zw
[ FAILED ] Xnine.drawindexedprimitiveup