aco: repeat get_reg_create_vector() with increased register demand if fail
We don't need rollback/undo code here because get_reg_create_vector() now creates a temporary copy of the register file. Works around RA failure with a bunch of dEQP-VK.robustness.robustness2.* Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3566 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7656>
This commit is contained in:
@@ -270,7 +270,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.r32i.dontunroll.volatile.storage_
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -451,7 +450,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.dontunroll.volatile.storage
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -812,7 +810,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.volatile.storage
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -993,7 +990,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.volatile.storag
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -1354,7 +1350,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.volatile.stora
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -1535,7 +1530,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.volatile.stor
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -1626,12 +1620,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.volatile.storage_
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.volatile.storage_buffer_dynamic.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32f.dontunroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32f.dontunroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32f.dontunroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -1767,7 +1755,6 @@ dEQP-VK.robustness.robustness2.push.notemplate.r32i.dontunroll.volatile.storage_
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -1858,7 +1845,6 @@ dEQP-VK.robustness.robustness2.push.notemplate.r32ui.dontunroll.volatile.storage
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -2039,7 +2025,6 @@ dEQP-VK.robustness.robustness2.push.notemplate.rg32i.dontunroll.volatile.storage
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -2130,7 +2115,6 @@ dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.dontunroll.volatile.storag
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -2311,7 +2295,6 @@ dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.dontunroll.volatile.stora
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -2402,7 +2385,6 @@ dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.dontunroll.volatile.stor
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.dontunroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
@@ -2448,9 +2430,3 @@ dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.volatile.storage_
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.comp,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.frag,Fail
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.volatile.storage_buffer.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.push.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
|
@@ -4,8 +4,6 @@ dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving.4_bit,F
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_array_image.4_bit,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_array_image_one_region.4_bit,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving.4_bit,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32f.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32f.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_20.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32f.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_252.samples_1.1d.vert,Fail
|
||||
@@ -30,7 +28,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.nonvolatile.vert
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_36.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_39.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_4.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_20.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_252.samples_1.1d.vert,Fail
|
||||
@@ -47,7 +44,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.nonvolatile.ver
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_36.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_39.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_4.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_20.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_252.samples_1.1d.vert,Fail
|
||||
@@ -86,7 +82,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.nonvolatile.ve
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_4.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_41.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_20.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_252.samples_1.1d.vert,Fail
|
||||
@@ -107,7 +102,6 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.nonvolatile.v
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_4.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_41.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.dontunroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_12.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_20.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_252.samples_1.1d.vert,Fail
|
||||
@@ -118,21 +112,3 @@ dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.verte
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_4.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_41.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.vertex_attribute_fetch.no_fmt_qual.len_8.samples_1.1d.vert,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
|
@@ -4,27 +4,3 @@ dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving.4_bit,F
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_array_image.4_bit,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_array_image_one_region.4_bit,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving.4_bit,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
|
@@ -4,27 +4,3 @@ dEQP-VK.api.copy_and_blit.core.resolve_image.whole_copy_before_resolving.4_bit,F
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_array_image.4_bit,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_array_image_one_region.4_bit,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving.4_bit,Fail
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.bind.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
dEQP-VK.robustness.robustness2.push.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.2d_array.vert,Crash
|
||||
|
@@ -1196,6 +1196,20 @@ bool get_reg_specified(ra_ctx& ctx,
|
||||
return true;
|
||||
}
|
||||
|
||||
void increase_register_file(ra_ctx& ctx, RegType type) {
|
||||
uint16_t max_addressible_sgpr = ctx.program->sgpr_limit;
|
||||
uint16_t max_addressible_vgpr = ctx.program->vgpr_limit;
|
||||
if (type == RegType::vgpr && ctx.program->max_reg_demand.vgpr < max_addressible_vgpr) {
|
||||
update_vgpr_sgpr_demand(ctx.program, RegisterDemand(ctx.program->max_reg_demand.vgpr + 1, ctx.program->max_reg_demand.sgpr));
|
||||
} else if (type == RegType::sgpr && ctx.program->max_reg_demand.sgpr < max_addressible_sgpr) {
|
||||
update_vgpr_sgpr_demand(ctx.program, RegisterDemand(ctx.program->max_reg_demand.vgpr, ctx.program->max_reg_demand.sgpr + 1));
|
||||
} else {
|
||||
//FIXME: if nothing helps, shift-rotate the registers to make space
|
||||
aco_err(ctx.program, "Failed to allocate registers during shader compilation.");
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
PhysReg get_reg(ra_ctx& ctx,
|
||||
RegisterFile& reg_file,
|
||||
Temp temp,
|
||||
@@ -1279,20 +1293,10 @@ PhysReg get_reg(ra_ctx& ctx,
|
||||
* too many moves. */
|
||||
assert(reg_file.count_zero(PhysReg{info.lb}, info.ub-info.lb) >= info.size);
|
||||
|
||||
uint16_t max_addressible_sgpr = ctx.program->sgpr_limit;
|
||||
uint16_t max_addressible_vgpr = ctx.program->vgpr_limit;
|
||||
if (info.rc.type() == RegType::vgpr && ctx.program->max_reg_demand.vgpr < max_addressible_vgpr) {
|
||||
update_vgpr_sgpr_demand(ctx.program, RegisterDemand(ctx.program->max_reg_demand.vgpr + 1, ctx.program->max_reg_demand.sgpr));
|
||||
return get_reg(ctx, reg_file, temp, parallelcopies, instr, operand_index);
|
||||
} else if (info.rc.type() == RegType::sgpr && ctx.program->max_reg_demand.sgpr < max_addressible_sgpr) {
|
||||
update_vgpr_sgpr_demand(ctx.program, RegisterDemand(ctx.program->max_reg_demand.vgpr, ctx.program->max_reg_demand.sgpr + 1));
|
||||
return get_reg(ctx, reg_file, temp, parallelcopies, instr, operand_index);
|
||||
}
|
||||
|
||||
//FIXME: if nothing helps, shift-rotate the registers to make space
|
||||
|
||||
aco_err(ctx.program, "Failed to allocate registers during shader compilation.");
|
||||
abort();
|
||||
increase_register_file(ctx, info.rc.type());
|
||||
return get_reg(ctx, reg_file, temp, parallelcopies, instr, operand_index);
|
||||
}
|
||||
|
||||
PhysReg get_reg_create_vector(ra_ctx& ctx,
|
||||
@@ -1427,10 +1431,16 @@ PhysReg get_reg_create_vector(ra_ctx& ctx,
|
||||
tmp_file.fill(instr->operands[i]);
|
||||
}
|
||||
}
|
||||
ASSERTED bool success = false;
|
||||
success = get_regs_for_copies(ctx, tmp_file, parallelcopies, vars, lb, ub, instr, best_pos, best_pos + size - 1);
|
||||
assert(success);
|
||||
bool success = false;
|
||||
std::vector<std::pair<Operand, Definition>> pc;
|
||||
success = get_regs_for_copies(ctx, tmp_file, pc, vars, lb, ub, instr, best_pos, best_pos + size - 1);
|
||||
|
||||
if (!success) {
|
||||
increase_register_file(ctx, temp.type());
|
||||
return get_reg_create_vector(ctx, reg_file, temp, parallelcopies, instr);
|
||||
}
|
||||
|
||||
parallelcopies.insert(parallelcopies.end(), pc.begin(), pc.end());
|
||||
adjust_max_used_regs(ctx, rc, best_pos);
|
||||
|
||||
return PhysReg{best_pos};
|
||||
|
Reference in New Issue
Block a user