aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* panfrost: Specify stack_shift on SFBDAlyssa Rosenzweig2020-07-021-2/+1
| | | | | | | Fixes spilling on T720. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513>
* etnaviv: move ra into own fileChristian Gmeiner2020-07-025-307/+342
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: move nir compiler related stuff into .c fileChristian Gmeiner2020-07-024-1115/+1079
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: move functions that generate asm to own fileChristian Gmeiner2020-07-025-236/+280
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: drop emit macroChristian Gmeiner2020-07-021-13/+11
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: merge struct etna_compile and etna_stateChristian Gmeiner2020-07-023-134/+123
| | | | | | | | I see no good architectural reason for this split. Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: move liveness related stuff into own fileChristian Gmeiner2020-07-026-391/+424
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: make more use of compile_error(..)Christian Gmeiner2020-07-023-8/+41
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: drop OPT_V defineChristian Gmeiner2020-07-021-14/+13
| | | | | | | | Directly use NIR_PASS_V(..). Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: move etna_lower_alu(..) to etnaviv_nir.cChristian Gmeiner2020-07-023-67/+71
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: get rid of etna_compile dependencyChristian Gmeiner2020-07-021-6/+6
| | | | | | | | Needed prep change to be able to move alu lowering. Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: move etna_lower_io(..) to etnaviv_nir.cChristian Gmeiner2020-07-025-166/+234
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: convert enumsChristian Gmeiner2020-07-021-4/+4
| | | | | | | | | | Atm. it is not possible to move the enums to a header file as they do not use an identifier but directly define an object. Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* etnaviv: delete not used structChristian Gmeiner2020-07-021-7/+0
| | | | | | Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690>
* zink: implement Vk_EXT_index_type_uint8Mike Blumenkrantz2020-07-023-5/+33
| | | | | | | | this is a simple extension that enables using uint8-sized index buffers, which lets us avoid having those go through primconvert Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5712>
* llvmpipe: handle indirect images properlyDave Airlie2020-07-021-3/+20
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* draw/sample: add support for indirect imagesDave Airlie2020-07-021-0/+16
| | | | | | | | This uses the array functions to implement indirect image support for draw shaders Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/nir: add support for indirect image loadingDave Airlie2020-07-022-0/+98
| | | | | | | | | This adds support for indirect image loading, image stores can cause images with different formats to be stored to, so this operates like the texture code now. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/img: refactor out the texel return type (v2)Dave Airlie2020-07-021-9/+17
| | | | | | | | v2: refactor to just pass type as pointed out by Roland. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/nir: refactor image operations for indirect support.Dave Airlie2020-07-024-33/+33
| | | | | | | | This just refactors the image code, so that outdata is passed explicitly, and refactors the internal handling of NONE formats. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/nir: support passing image index into image code.Dave Airlie2020-07-023-7/+47
| | | | | | | This doesn't do anything yet, just adds parsing support for it. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* llvmpipe: pass number of images into image soa createDave Airlie2020-07-024-4/+8
| | | | | | | Just store this for now to use later with indexing Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* draw: pass number of images to image soa createDave Airlie2020-07-023-6/+15
| | | | | | | | This is stored for now but will be used as part of indirect image support Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* llvmpipe: enable ARB_gpu_shader5Dave Airlie2020-07-021-2/+4
| | | | | | | | | | | This isn't fully free of bugs, but it's good to get CI working, so fixing those bugs doesn't break anything. The main buggy areas are missing indirect texture size, and transform feedback geometry streams. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/sample: handle size unit offsetDave Airlie2020-07-021-8/+10
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* llvmpipe/draw: wire up indirect offsetDave Airlie2020-07-022-0/+20
| | | | | | | This bounds checks and adds to the llvm index. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/sample: pass indirect offset into texture/image unitsDave Airlie2020-07-026-59/+70
| | | | | | | | | This isn't needed for the basic indirect code, but it is needed for texture size/image size unfortunately. They could be done with a super switch, but it seems simple to query them. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/nir: handle non-uniform texture offsetsDave Airlie2020-07-022-0/+59
| | | | | | | | | | | The way we construt vertex/geom shaders means these can diverge, so we have to just hammer it out manually, there are likely optimisation opportuniities in here Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/nir: add texture unit indexingDave Airlie2020-07-022-1/+21
| | | | | | | This hooks up the index from NIR into the sampler code. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* llvmpipe: add support for indirect texture access.Dave Airlie2020-07-021-4/+21
| | | | | | | | This hooks up the sampler switch statement generator to the llvmpipe sampler interface. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* draw: add support for indirect texture accessDave Airlie2020-07-021-4/+21
| | | | | | | This hooks up the switch statement generator to the draw code. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm: add indirect texture switch statement builder.Dave Airlie2020-07-022-0/+119
| | | | | | | | | | | This adds the apis to add an indirect accessor for arrays of textures, using an LLVM switch statement and per-texture sampler functions. It also adds the indexer to the sampler parameters Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* gallivm/sample: change texture function generator apiDave Airlie2020-07-021-9/+10
| | | | | | | | | This passes some more paramters in directly and changes how the returns are done in order to reuse this function for indirect texture support later. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* llvmpipe: pass number of samplers into llvm sampler code.Dave Airlie2020-07-024-4/+8
| | | | | | | This is to be used later for indirect texture access Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* draw: pass nr_samplers into llvm sample state creation.Dave Airlie2020-07-023-6/+11
| | | | | | | This will be used later to handle indirect texture support. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
* iris: add missing fallthrough commentTimothy Arceri2020-07-021-0/+1
| | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
* gallivm: add missing breakTimothy Arceri2020-07-021-0/+1
| | | | | | | Fixes: 26c5ae80f0b5 ("llvmpipe: enable ARB_shader_group_vote") Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
* llvmpipe: add missing fallthrough commentsTimothy Arceri2020-07-021-0/+3
| | | | | Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
* gallium,util: undef ALIGN on FreeBSD to prevent name clashGreg V2020-07-011-0/+6
| | | | | | | | Some rare headers like ipc/shm and pthread_np cause machine/param.h to be included which defines a macro called ALIGN. Signed-off-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
* iris: Explicitly cast value to uint64_tEmmanuel2020-07-011-2/+2
| | | | | | | | | | | In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and is the same size as unsigned long long. Since we are explicitly specifying the format, cast the value to the proper type. Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Emmanuel <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
* freedreno/a6xx: set missing bary sysvalsJonathan Marek2020-07-011-30/+40
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
* freedreno/a5xx: set missing bary sysvalsJonathan Marek2020-07-011-10/+25
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
* freedreno/a4xx: fake LINEAR_PIXEL varying support for u_blitterJonathan Marek2020-07-011-1/+11
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
* freedreno/a3xx: support LINEAR_PIXEL/PERSP_CENTROID/LINEAR_CENTROID sysvalsJonathan Marek2020-07-013-4/+22
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
* freedreno/registers: update varying-related registersJonathan Marek2020-07-014-18/+18
| | | | | | | | | | | Note: * a3xx change based on available register documentation * a4xx guesses (RB_RENDER_CONTROL2 bits especially) * a5xx change based on a6xx, these registers seem identical Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582>
* gallium/docs: remove unused imgmath extensionErik Faye-Lund2020-07-011-1/+1
| | | | | | Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
* gallium/docs: remove non-existent static dirErik Faye-Lund2020-07-011-1/+1
| | | | | | Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
* gallium/docs: prefix exts dir with underscoreErik Faye-Lund2020-07-012-1/+1
| | | | | | | | | | It's generally considered good practice to use underscore-prefixes for directories that contains non-doumentation files, so let's do this for our custom extensions as well. Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
* gallium/docs: use none for highlight_languageErik Faye-Lund2020-07-012-2/+2
| | | | | | | | | | We have much more blocks that are of no particular language (mostly custom ASM variants), so let's instead opt in if we want syntax-highlighting. Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
* gallium/docs: remove reference to non-existent labelErik Faye-Lund2020-07-011-1/+1
| | | | | | | | | | | This label was removed a long time ago, let's also remove the reference to it. Fixes: 3acd7a34ab0 ("st/vega: Remove.") Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>