<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<div class="moz-cite-prefix">On 3/28/19 10:18 AM, Bas Nieuwenhuizen
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAP+8YyHn58GxS0L8y4e=F7+j9pHGqVdYTP07v+J7Bq6=Dtm1FQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">R-b
<div dir="auto"><br>
</div>
<div dir="auto">Though not sure it really helps given code size
increase?</div>
</div>
</blockquote>
I haven't benchmarked F12017 yet. The code size increases seems to
be LLVM related but that shouldn't matter much.<br>
<blockquote type="cite"
cite="mid:CAP+8YyHn58GxS0L8y4e=F7+j9pHGqVdYTP07v+J7Bq6=Dtm1FQ@mail.gmail.com"><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Mar 27, 2019, 10:13 AM
Samuel Pitoiset <<a href="mailto:samuel.pitoiset@gmail.com"
moz-do-not-send="true">samuel.pitoiset@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">This helps
few compute shaders, mostly for F12017.<br>
<br>
27670 shaders in 14347 tests<br>
Totals:<br>
SGPRS: 1231173 -> 1231173 (0.00 %)<br>
VGPRS: 866056 -> 865928 (-0.01 %)<br>
Spilled SGPRs: 24201 -> 24201 (0.00 %)<br>
Code Size: 46137040 -> 46144868 (0.02 %) bytes<br>
Max Waves: 232287 -> 232302 (0.01 %)<br>
<br>
Totals from affected shaders:<br>
SGPRS: 24624 -> 24624 (0.00 %)<br>
VGPRS: 25960 -> 25832 (-0.49 %)<br>
Spilled SGPRs: 0 -> 0 (0.00 %)<br>
Code Size: 2922632 -> 2930460 (0.27 %) bytes<br>
Max Waves: 1216 -> 1231 (1.23 %)<br>
<br>
Suggested-by: <Jason Ekstrand <a
href="mailto:jason@jlekstrand.net" target="_blank"
rel="noreferrer" moz-do-not-send="true">jason@jlekstrand.net</a>><br>
Signed-off-by: Samuel Pitoiset <<a
href="mailto:samuel.pitoiset@gmail.com" target="_blank"
rel="noreferrer" moz-do-not-send="true">samuel.pitoiset@gmail.com</a>><br>
---<br>
src/amd/common/ac_nir_to_llvm.c | 8 ++++++++<br>
src/amd/vulkan/radv_shader.c | 5 ++++-<br>
2 files changed, 12 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/amd/common/ac_nir_to_llvm.c
b/src/amd/common/ac_nir_to_llvm.c<br>
index b25cc6a0a84..c46d98e6dd9 100644<br>
--- a/src/amd/common/ac_nir_to_llvm.c<br>
+++ b/src/amd/common/ac_nir_to_llvm.c<br>
@@ -3275,6 +3275,14 @@ static void visit_intrinsic(struct
ac_nir_context *ctx,<br>
case nir_intrinsic_vulkan_resource_reindex:<br>
result = visit_vulkan_resource_reindex(ctx,
instr);<br>
break;<br>
+ case nir_intrinsic_load_vulkan_descriptor: {<br>
+ LLVMValueRef values[2] = {<br>
+ get_src(ctx, instr->src[0]),<br>
+ ctx->ac.i32_0,<br>
+ };<br>
+ result =
ac_build_gather_values(&ctx->ac, values, 2);<br>
+ break;<br>
+ }<br>
case nir_intrinsic_store_ssbo:<br>
visit_store_ssbo(ctx, instr);<br>
break;<br>
diff --git a/src/amd/vulkan/radv_shader.c
b/src/amd/vulkan/radv_shader.c<br>
index 19a807df199..2751302e8b9 100644<br>
--- a/src/amd/vulkan/radv_shader.c<br>
+++ b/src/amd/vulkan/radv_shader.c<br>
@@ -220,7 +220,6 @@ radv_shader_compile_to_nir(struct
radv_device *device,<br>
}<br>
}<br>
const struct spirv_to_nir_options
spirv_options = {<br>
- .lower_ubo_ssbo_access_to_offsets =
true,<br>
.caps = {<br>
.descriptor_array_dynamic_indexing = true,<br>
.device_group = true,<br>
@@ -306,6 +305,10 @@ radv_shader_compile_to_nir(struct
radv_device *device,<br>
NIR_PASS_V(nir, nir_lower_system_values);<br>
NIR_PASS_V(nir,
nir_lower_clip_cull_distance_arrays);<br>
NIR_PASS_V(nir, nir_lower_frexp);<br>
+<br>
+ NIR_PASS_V(nir, nir_lower_explicit_io,<br>
+ nir_var_mem_ubo | nir_var_mem_ssbo,<br>
+
nir_address_format_32bit_index_offset);<br>
}<br>
<br>
/* Vulkan uses the separate-shader linking model */<br>
-- <br>
2.21.0<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org"
target="_blank" rel="noreferrer" moz-do-not-send="true">mesa-dev@lists.freedesktop.org</a><br>
<a
href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev"
rel="noreferrer noreferrer" target="_blank"
moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a></blockquote>
</div>
</blockquote>
</body>
</html>