aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util/format: add trivial srgb<->linear conversion testEric Engestrom2019-12-273-0/+53
| | | | | | | | | This would've caught 8829f9ccb0267d113283 ("u_format: add ETC2 to util_format_srgb/util_format_linear"). Suggested-by: Eric Anholt <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* util/format: add PIPE_FORMAT_ASTC_*x*x*_SRGB to util_format_{srgb,linear}()Eric Engestrom2019-12-271-0/+40
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* util/format: remove left-over util_format_description_table declarationEric Engestrom2019-12-271-4/+0
| | | | | | Fixes: 3c45c4bc44310c1af4f0 ("util: Cope with the fact that formats in u_format.csv are not ordered.") Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gallivm: fixup const int64 builder.Dave Airlie2019-12-281-1/+1
| | | | | | | | Pointed out by Ilia. Fixes: 84ba00877496 (gallivm: add 64-bit const int creator.) Reviewed-by: Ilia Mirkin <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]>
* radeonsi/gfx10: improve performance for TES using PrimID but not exporting itMarek Olšák2019-12-271-1/+2
| | | | | | This field is really for the primitive export to the pixel shader. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: enable NGG passthrough for eligible shadersMarek Olšák2019-12-273-32/+47
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: don't declare any LDS for NGG if it's not usedMarek Olšák2019-12-272-6/+21
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* panfrost: Remove 32-bit next_job pathAlyssa Rosenzweig2019-12-273-23/+4
| | | | | | | | | | It has been unused for a while; let's just remove the abstraction. Technically the hardware does support 32-bit job descriptors, but we don't and we can't keep them from breaking so let's not pretend they work. Signed-off-by: Alyssa Rosenzweig <[email protected]> Suggested-by: Boris Brezillon <[email protected]>
* panfrost; Update comment about work/uniform_countAlyssa Rosenzweig2019-12-271-3/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Remove mali_alt_funcAlyssa Rosenzweig2019-12-277-72/+59
| | | | | | | | | | There's only one way to encode comparison functions in the command stream, not two. It's just that the semantics for texture comparisons are flipped from the semantics of stencil comparison. We can factor out that flip to common Panfrost code, rather than tying it to a second Gallium routine. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add missing #include in common headerAlyssa Rosenzweig2019-12-271-0/+1
| | | | | | Fixes way back when... Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add pan_attributes.c to Android.mkAlyssa Rosenzweig2019-12-271-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Fixes: 31305e1b285 ("panfrost: Move instancing routines to encoder/")
* panfrost: Implement remaining texture wrap modesAlyssa Rosenzweig2019-12-273-6/+24
| | | | | | | | Somehow we have native hardware for all of these. Suspected by staring at the bit pattern; confirmed by poking in various texture wrap modes into the textures mesa demo and seeing what happens. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Inline away MALI_NEGATIVEAlyssa Rosenzweig2019-12-272-9/+5
| | | | | | It's an awfully fancy way to add one... Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Remove MALI_ATTR_INTERNALAlyssa Rosenzweig2019-12-272-3/+0
| | | | | | | It's a relic from before we understood the varying builtins. It should never actually come up if the builtins are decoded correctly. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Update information on fixed attributes/varyingsAlyssa Rosenzweig2019-12-271-3/+2
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Remove MALI_SPECIAL_ATTRIBUTE_BASE definesAlyssa Rosenzweig2019-12-271-5/+0
| | | | | | | | | These are conventions by the blob (a convention we happent to follow). They are not at all intrinsic to the hardware, so now that the convention is implemented within the Midgard stack, these defines are wholly unused. Remove them. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Fix minor typoAlyssa Rosenzweig2019-12-271-1/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Reported-by: Erik Faye-Lund <[email protected]>
* android: radv: build radv_shader_args.cMauro Rossi2019-12-271-0/+2
| | | | | | | | | | | | Updates radv Makefile.sources and fixes the following building error: external/mesa/src/amd/vulkan/radv_shader.c:1122: error: undefined reference to 'radv_declare_shader_args' Fixes: 3b14336 ("ac/nir, radv, radeonsi: Switch to using ac_shader_args") Fixes: 66c703b ("radv: Move argument declaration out of nir_to_llvm") Signed-off-by: Mauro Rossi <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* android: radeonsi,ac: fix building error due to ac changesMauro Rossi2019-12-271-0/+2
| | | | | | | | | | | | | Updates amd Makefile.sources and fixes the following building errors: external/mesa/src/gallium/drivers/radeonsi/si_compute_prim_discard.c:338: error: undefined reference to 'ac_add_arg' external/mesa/src/gallium/drivers/radeonsi/si_compute_prim_discard.c:340: error: undefined reference to 'ac_add_arg' external/mesa/src/gallium/drivers/radeonsi/si_compute_prim_discard.c:341: error: undefined reference to 'ac_add_arg' external/mesa/src/gallium/drivers/radeonsi/si_compute_prim_discard.c:342: error: undefined reference to 'ac_add_arg' Fixes: 9885af3 ("ac: Add a shared interface between radv, radeonsi, LLVM and ACO") Signed-off-by: Mauro Rossi <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* android: radv: fix vk_format_table.c generated source buildMauro Rossi2019-12-271-0/+1
| | | | | | | | | | | | | | | | | | | | | RADV Android build rules are now getting the wrong vk_format.h from src/vulkan/util include, the simplest way to fix is to add src/amd/vulkan include prior to src/vulkan/util include Fixes the following building errors: out/target/product/x86_64/obj_x86/STATIC_LIBRARIES/libmesa_radv_common_intermediates/vk_format_table.c:39:4: error: use of undeclared identifier 'VK_FORMAT_LAYOUT_PLAIN' ... out/target/product/x86_64/obj_x86/STATIC_LIBRARIES/libmesa_radv_common_intermediates/vk_format_table.c:131:8: error: use of undeclared identifier 'VK_FORMAT_TYPE_UNSIGNED'; did you mean 'UTIL_FORMAT_TYPE_UNSIGNED'? {VK_FORMAT_TYPE_UNSIGNED, true, false, false, 4, 0}, /* x = a */ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. Fixes: 3a28281 ("util: Add a mapping from VkFormat to PIPE_FORMAT.") Signed-off-by: Mauro Rossi <[email protected]> Acked-by: Samuel Pitoiset <[email protected]>
* android: util: Add a mapping from VkFormat to PIPE_FORMAT.Mauro Rossi2019-12-272-1/+3
| | | | | | | | | | | | | | | Updates Makefile.sources and fixes the following building error: In file included from external/mesa/src/vulkan/util/vk_format.c:24: In file included from external/mesa/src/vulkan/util/vk_format.h:28: external/mesa/src/util/format/u_format.h:33:10: fatal error: 'pipe/p_format.h' file not found #include "pipe/p_format.h" ^~~~~~~~~~~~~~~~~ 1 error generated. Fixes: 3a28281 ("util: Add a mapping from VkFormat to PIPE_FORMAT.") Signed-off-by: Mauro Rossi <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* android: nir: add a load/store vectorization passMauro Rossi2019-12-271-0/+1
| | | | | | | | | | | Fixes the following aco building error: external/mesa/src/amd/compiler/aco_instruction_selection_setup.cpp:846: error: undefined reference to 'nir_opt_load_store_vectorize' Fixes: ce9205c ("nir: add a load/store vectorization pass") Signed-off-by: Mauro Rossi <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* llvmpipe: add debug option to enable OpenCL support.Dave Airlie2019-12-272-2/+5
| | | | | | LP_DEBUG=cl will enable CL support for now. Acked-by: Roland Scheidegger <[email protected]>
* gallivm/nir: add vec8/16 supportDave Airlie2019-12-271-2/+4
| | | | Acked-by: Roland Scheidegger <[email protected]>
* gallivm/nir: lower packingDave Airlie2019-12-271-0/+1
| | | | | | | This fixes some CL upsample tests, which lower into packing that needs lowering. Acked-by: Roland Scheidegger <[email protected]>
* llvmpipe: lower hadd/add_satDave Airlie2019-12-271-0/+2
| | | | | | Fixes some CL piglits. Acked-by: Roland Scheidegger <[email protected]>
* gallivm: handle non-32 bit undefinedDave Airlie2019-12-271-1/+2
| | | | | | other sized undefs caused llvm asserts Acked-by: Roland Scheidegger <[email protected]>
* llvmpipe/nir: use nir_max_vec_components in more placesDave Airlie2019-12-273-46/+46
| | | | | | This is prep work for when vec8/16 have landed. Acked-by: Roland Scheidegger <[email protected]>
* llvmpipe: add support for compute shader paramsDave Airlie2019-12-271-5/+55
| | | | Acked-by: Roland Scheidegger <[email protected]>
* llvmpipe: handle serialized nir as a shader type.Dave Airlie2019-12-272-4/+19
| | | | Acked-by: Roland Scheidegger <[email protected]>
* gallivm/llvmpipe: add support for global operations.Dave Airlie2019-12-276-0/+332
| | | | Acked-by: Roland Scheidegger <[email protected]>
* gallivm/llvmpipe: add support for block size intrinsicDave Airlie2019-12-274-3/+24
| | | | | | | We have to pass the main block size into the coroutine and into the shader. Acked-by: Roland Scheidegger <[email protected]>
* gallivm/llvmpipe: add support for work dimension intrinsic.Dave Airlie2019-12-275-16/+31
| | | | | | We have to pass the work_dim given by the user into the shader. Acked-by: Roland Scheidegger <[email protected]>
* tgsi/mesa: handle KERNEL caseDave Airlie2019-12-271-0/+1
| | | | | | Translate to compute for now. Acked-by: Roland Scheidegger <[email protected]>
* gallivm/nir: allow 8/16-bit conversion and comparison.Dave Airlie2019-12-271-3/+29
| | | | | | This adds the convert to 8/16 and support for 8/16 comparsions Acked-by: Roland Scheidegger <[email protected]>
* gallivm: pick integer builders for alu instructions.Dave Airlie2019-12-271-17/+46
| | | | | | This allows these to be used with non 32-bit types. Acked-by: Roland Scheidegger <[email protected]>
* gallivm: add support for 8-bit/16-bit integer buildersDave Airlie2019-12-273-14/+68
| | | | Acked-by: Roland Scheidegger <[email protected]>
* llvmpipe/gallivm: add kernel inputsDave Airlie2019-12-278-3/+90
| | | | | | compute shaders need kernel input support Acked-by: Roland Scheidegger <[email protected]>
* gallivm: add 64-bit const int creator.Dave Airlie2019-12-271-0/+5
| | | | Acked-by: Roland Scheidegger <[email protected]>
* nir: sanitize work group intrinsics to always be 32-bit.Dave Airlie2019-12-271-0/+4
| | | | | | This saves handling them in the backend later. Reviewed-by: Karol Herbst <[email protected]>
* radv: Expose all sample counts for integer formats as well.Bas Nieuwenhuizen2019-12-261-1/+1
| | | | | | | | Things work the same between float and integer. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2261 CC: <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* panfrost: Route gl_VertexID through cmdstreamAlyssa Rosenzweig2019-12-244-4/+60
| | | | | | | | | | | It shows up as a special (magic?) attribute. We could try to be clever and only include the extra record if gl_VertexID is actually read, but honestly that's just extra complexity for no good reason. Might as well just always include it; this won't be a real bottleneck, I don't think. Fixes dEQP-GLES3.functional.shaders.builtin_variable.vertex_id. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Extend attribute_count for vertex builtinsAlyssa Rosenzweig2019-12-241-0/+10
| | | | | | | They stretch beyond the usual limit for attributes so are included implicitly. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Lower gl_VertexID/gl_InstanceID to attributesAlyssa Rosenzweig2019-12-242-0/+35
| | | | | | | We have special records for these, put in a fixed location by convention per the blob. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Factor out emit_attr_readAlyssa Rosenzweig2019-12-241-24/+33
| | | | | | We will load attributes directly for gl_VertexID. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Unset vertex_id_zero_basedAlyssa Rosenzweig2019-12-242-2/+0
| | | | | | We don't want the lowering; we have native gl_VertexID. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Handle gl_VertexID/gl_InstanceIDAlyssa Rosenzweig2019-12-243-23/+47
| | | | | | | | | Just like varyings have special records for point coordinates (etc), attributes have special records for vertex/instance ID. We can parse these fairly easily, although they don't line up exactly with normal attribute records. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Remove pan_shift_oddAlyssa Rosenzweig2019-12-243-95/+22
| | | | | | | | | | | | | | | | | Padded counts are numbers of the form: n = (2k + 1) * 2^s for k, s integers. Rather than explicitly store k and s separately and then compute this formula on demand, it's much cleaner to store the padded number itself, which is what you manipulate most of the time. When you do need k,s it is easy to factor by noticing the bitwise representation: s = ctz(n) k = n >> (s + 1) Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Slight cleanup of Gallium's pan_attribute.cAlyssa Rosenzweig2019-12-241-5/+2
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>