<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:10pt;color:#0000FF;margin:5pt;" align="Left">
[AMD Official Use Only - General]<br>
</p>
<br>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
</div>
Thanks Alex,
<div><br>
</div>
<div>I am actually working on this now and this is a temporally exist amd_shaders.c and amd_shader.h   just to get dependency test run.</div>
<div><br>
</div>
<div><br>
</div>
<div>I want to try make shader binary human readable. </div>
<div><br>
</div>
<div>I will  use your suggestion about gfx8_shaders.c, gfc9_shaders.c</div>
<div>The files amd_shaders.c É amd_shader.h would be reworked in next commit.</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks, Vitaly<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Deucher, Alexander <Alexander.Deucher@amd.com><br>
<b>Sent:</b> Thursday, July 7, 2022 5:38 PM<br>
<b>To:</b> Prosyak, Vitaly <Vitaly.Prosyak@amd.com>; igt-dev@lists.freedesktop.org <igt-dev@lists.freedesktop.org><br>
<b>Cc:</b> Olsak, Marek <Marek.Olsak@amd.com>; Koenig, Christian <Christian.Koenig@amd.com><br>
<b>Subject:</b> Re: [PATCH 6/7] lib/amdgpu: add shaders in binary form</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<p align="Left" style="font-family:Arial; font-size:10pt; color:#0000FF; margin:5pt">
[AMD Official Use Only - General]<br>
</p>
<br>
<div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Maybe you want to name the file for the gfx family where the shaders are relevant?  E.g., gfx8_shaders.c, gfc9_shaders.c. etc.?</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Alex</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> vitaly.prosyak@amd.com <vitaly.prosyak@amd.com><br>
<b>Sent:</b> Thursday, July 7, 2022 2:22 PM<br>
<b>To:</b> igt-dev@lists.freedesktop.org <igt-dev@lists.freedesktop.org><br>
<b>Cc:</b> Olsak, Marek <Marek.Olsak@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; Prosyak, Vitaly <Vitaly.Prosyak@amd.com><br>
<b>Subject:</b> [PATCH 6/7] lib/amdgpu: add shaders in binary form</font>
<div> </div>
</div>
<div class="x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_PlainText">From: Vitaly Prosyak <vitaly.prosyak@amd.com><br>
<br>
Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com><br>
---<br>
 lib/amdgpu/amd_shaders.c | 51 ++++++++++++++++++++++++++++++++++++++++<br>
 lib/amdgpu/amd_shaders.h | 32 +++++++++++++++++++++++++<br>
 lib/meson.build          |  1 +<br>
 3 files changed, 84 insertions(+)<br>
 create mode 100644 lib/amdgpu/amd_shaders.c<br>
 create mode 100644 lib/amdgpu/amd_shaders.h<br>
<br>
diff --git a/lib/amdgpu/amd_shaders.c b/lib/amdgpu/amd_shaders.c<br>
new file mode 100644<br>
index 00000000..31722744<br>
--- /dev/null<br>
+++ b/lib/amdgpu/amd_shaders.c<br>
@@ -0,0 +1,51 @@<br>
+/*<br>
+ * Copyright 2014 Advanced Micro Devices, Inc.<br>
+ * Copyright 2022 Advanced Micro Devices, Inc.<br>
+ *  *<br>
+ * Permission is hereby granted, free of charge, to any person obtaining a<br>
+ * copy of this software and associated documentation files (the "Software"),<br>
+ * to deal in the Software without restriction, including without limitation<br>
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>
+ * and/or sell copies of the Software, and to permit persons to whom the<br>
+ * Software is furnished to do so, subject to the following conditions:<br>
+ *<br>
+ * The above copyright notice and this permission notice shall be included in<br>
+ * all copies or substantial portions of the Software.<br>
+ *<br>
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL<br>
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR<br>
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,<br>
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR<br>
+ * OTHER DEALINGS IN THE SOFTWARE.<br>
+ *<br>
+ *<br>
+ */<br>
+<br>
+#include "amd_shaders.h"<br>
+<br>
+<br>
+#define CODE_OFFSET 512<br>
+#define DATA_OFFSET 1024<br>
+<br>
+#define SWAP_32(num) (((num & 0xff000000) >> 24) | \<br>
+                     ((num & 0x0000ff00) << 8) | \<br>
+                     ((num & 0x00ff0000) >> 8) | \<br>
+                     ((num & 0x000000ff) << 24))<br>
+<br>
+<br>
+static  uint32_t shader_bin[] = {<br>
+       SWAP_32(0x800082be), SWAP_32(0x02ff08bf), SWAP_32(0x7f969800), SWAP_32(0x040085bf),<br>
+       SWAP_32(0x02810281), SWAP_32(0x02ff08bf), SWAP_32(0x7f969800), SWAP_32(0xfcff84bf),<br>
+       SWAP_32(0xff0083be), SWAP_32(0x00f00000), SWAP_32(0xc10082be), SWAP_32(0xaa02007e),<br>
+       SWAP_32(0x000070e0), SWAP_32(0x00000080), SWAP_32(0x000081bf)<br>
+};<br>
+<br>
+const uint32_t * get_shader_bin(uint32_t *size_bytes, uint32_t *code_offset, uint32_t *data_offset)<br>
+{<br>
+       *size_bytes = sizeof(shader_bin);<br>
+       *code_offset =  CODE_OFFSET;<br>
+       *data_offset = DATA_OFFSET;<br>
+       return shader_bin;<br>
+}<br>
diff --git a/lib/amdgpu/amd_shaders.h b/lib/amdgpu/amd_shaders.h<br>
new file mode 100644<br>
index 00000000..1abb23ac<br>
--- /dev/null<br>
+++ b/lib/amdgpu/amd_shaders.h<br>
@@ -0,0 +1,32 @@<br>
+/*<br>
+ * Copyright 2014 Advanced Micro Devices, Inc.<br>
+ * Copyright 2022 Advanced Micro Devices, Inc.<br>
+ *<br>
+ * Permission is hereby granted, free of charge, to any person obtaining a<br>
+ * copy of this software and associated documentation files (the "Software"),<br>
+ * to deal in the Software without restriction, including without limitation<br>
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>
+ * and/or sell copies of the Software, and to permit persons to whom the<br>
+ * Software is furnished to do so, subject to the following conditions:<br>
+ *<br>
+ * The above copyright notice and this permission notice shall be included in<br>
+ * all copies or substantial portions of the Software.<br>
+ *<br>
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL<br>
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR<br>
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,<br>
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR<br>
+ * OTHER DEALINGS IN THE SOFTWARE.<br>
+ *<br>
+ *<br>
+ */<br>
+#ifndef AMD_SHADERS_H<br>
+#define AMD_SHADERS_H<br>
+<br>
+#include "drmtest.h"<br>
+<br>
+const uint32_t * get_shader_bin(uint32_t *size_bytes, uint32_t *code_offset, uint32_t *data_offset);<br>
+<br>
+#endif<br>
diff --git a/lib/meson.build b/lib/meson.build<br>
index 12b2cc5d..98c2803b 100644<br>
--- a/lib/meson.build<br>
+++ b/lib/meson.build<br>
@@ -132,6 +132,7 @@ if libdrm_amdgpu.found()<br>
                 'amdgpu/amd_compute.c',<br>
                 'amdgpu/amd_gfx.c',<br>
                 'amdgpu/amd_ip_blocks.c',<br>
+               'amdgpu/amd_shaders.c',<br>
         ]<br>
 endif<br>
 <br>
-- <br>
2.25.1<br>
<br>
</div>
</span></font></div>
</div>
</div>
</div>
</body>
</html>