summaryrefslogtreecommitdiff
path: root/src/amd/compiler/aco_interface.h
Commit message (Collapse)AuthorAgeFilesLines
* aco,radv: support symbol relocation in acoQiang Yu2023-04-281-1/+2
| | | | | | Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22727>
* aco: Only include nir.h in instruction selection.Timur Kristóf2023-04-101-2/+1
| | | | | | | | | | | Don't recompile entire ACO when something changes in NIR. Instead, only use some headers which are actually needed, include these in ACO files instead of relying on nir.h to include them. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22241>
* radv: move gl_shader_stage from radv_binary to radv_shader_infoDaniel Schürmann2023-03-241-12/+4
| | | | | | This way, both radv_shader and radv_shader_binary, provide the stage. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029>
* radv: remove set but never used num_preserved_sgprsSamuel Pitoiset2023-03-211-1/+0
| | | | | Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897>
* radv: add radv_create_rt_prolog()Daniel Schürmann2023-03-161-0/+5
| | | | | Co-authored-by: Friedrich Vock <friedrich.vock@gmx.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21780>
* aco, radv: Don't use radv_shader_args in aco.Timur Kristóf2023-03-081-3/+3
| | | | | | Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21696>
* aco, radv: Rename aco_*_key to aco_*_info.Timur Kristóf2023-03-081-8/+6
| | | | | | | | | | | | The naming of aco_*_key didn't make sense because they were never actually used as cache keys, only radv_*_key are used as cache keys. Rename the aco structs to aco_*_info instead. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21696>
* radv,aco: remove old GS copy shader codeRhys Perry2022-11-291-1/+0
| | | | | | Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18898>
* aco: move statistics enum to aco_shader_info.hDaniel Schürmann2022-11-151-1/+0
| | | | | | to make it accessible from the driver. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19721>
* aco: add support for compiling PS epilogsSamuel Pitoiset2022-07-181-0/+7
| | | | | | Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485>
* radv,aco: rename radv_aco_build_prolog to radv_aco_build_shader_partSamuel Pitoiset2022-07-181-9/+9
| | | | | | | | Will be re-used for PS epilogs. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485>
* radv,aco: introduce {radv,aco}_ps_epilog_keySamuel Pitoiset2022-07-181-0/+1
| | | | | | | | To pass the necessary pipeline information for compiling PS epilogs. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485>
* aco/radv: provide a vs prolog callback from aco to radv.Dave Airlie2022-07-011-1/+12
| | | | | | | | Avoid building the radv binary in aco, just callback with the necessary info. Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16445>
* aco/radv: provide a callback from aco shader building to build binaryDave Airlie2022-07-011-1/+15
| | | | | | | | | | This moves the radv specific code into radv, and calls back from aco into radv. This should allow easier radeonsi integration later. Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16445>
* radv,aco: rename radv_prolog_binary/radv_shader_prolog to shader_partSamuel Pitoiset2022-06-211-1/+1
| | | | | | | | The same structures and functions will be re-used for PS epilogs. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17084>
* radv,aco: disable shader cache when ACO debug options are usedRhys Perry2022-06-021-0/+2
| | | | | | | Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14594>
* aco/radv: drop radv_nir_compiler_options from aco.Dave Airlie2022-05-171-2/+5
| | | | | | | | Add a new aco input and options structs, then convert from radv pieces on submit. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16521>
* aco: remove radv vs prolog key from aco internals.Dave Airlie2022-05-111-1/+2
| | | | | | | This creates an aco specific key, and converts radv to it. Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342>
* aco/radv: convert to aco shader info at the radv level.Dave Airlie2022-05-111-2/+3
| | | | | | | This removes the radv shader info type from aco completely. Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342>
* radv,aco: decouple shader_info/options from radv_shader_argsSamuel Pitoiset2021-10-221-5/+11
| | | | | | Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13287>
* radv: implement dynamic vertex input state using vertex shader prologsRhys Perry2021-10-131-0/+3
| | | | | | | | | This doesn't actually use the functionality or implement prolog compilation yet. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11717>
* aco: constify radv_shader_{info,args}Samuel Pitoiset2021-10-081-1/+1
| | | | | | Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13192>
* aco: Format.Daniel Schürmann2021-07-121-5/+3
| | | | | | | Manually adjusted some comments for more intuitive line breaks. Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11258>
* aco: add missing Licenses and remove Authors from filesDaniel Schürmann2021-07-121-0/+1
| | | | | Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11271>
* radv,aco: remove aco_compiler_statisticsRhys Perry2021-03-051-5/+2
| | | | | | | | This removes a pointer from radv_shader_binary_legacy::data. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9411>
* aco: Const correct aco_compiler_statisticsJames Park2020-12-011-1/+1
| | | | | Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7785>
* radv: move compiler statistics to ACOSamuel Pitoiset2020-10-141-0/+11
| | | | | | | | They are really specific to ACO. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7061>
* aco: Use radv_shader_args in aco_compile_shader()Connor Abbott2019-11-251-2/+1
| | | | Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
* aco: Initial commit of independent AMD compilerDaniel Schürmann2019-09-191-0/+45
ACO (short for AMD Compiler) is a new compiler backend with the goal to replace LLVM for Radeon hardware for the RADV driver. ACO currently supports only VS, PS and CS on VI and Vega. There are some optimizations missing because of unmerged NIR changes which may decrease performance. Full commit history can be found at https://github.com/daniel-schuermann/mesa/commits/backend Co-authored-by: Daniel Schürmann <daniel@schuermann.dev> Co-authored-by: Rhys Perry <pendingchaos02@gmail.com> Co-authored-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Co-authored-by: Connor Abbott <cwabbott0@gmail.com> Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@googlemail.com> Co-authored-by: Timur Kristóf <timur.kristof@gmail.com> Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>