summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* turnip: Implement some format properties for RGBA8.Bas Nieuwenhuizen2019-03-111-1/+73
| | | | | Just to get some tests to not skip. This is neither complete nor completely correct.
* turnip: add .clang-formatChia-I Wu2019-03-1120-1093/+1027
| | | | Add and apply .clang-format.
* turnip: Implement pipe-less param query.Bas Nieuwenhuizen2019-03-113-15/+31
|
* turnip: move tu_gem.c to tu_drm.cBas Nieuwenhuizen2019-03-112-1/+1
|
* turnip: Stop hardcoding the msm version check.Bas Nieuwenhuizen2019-03-111-1/+2
|
* turnip: Add image layout calculations.Bas Nieuwenhuizen2019-03-113-0/+135
|
* turnip: Fix memory mapping.Bas Nieuwenhuizen2019-03-111-1/+2
|
* turnip: Fix bo allocation after we stopped using libdrm_freedreno ...Bas Nieuwenhuizen2019-03-112-17/+9
| | | | | Al this figuring out new errors is why I don't like reinventing the wheel.
* turnip: Add 630 to the list.Bas Nieuwenhuizen2019-03-111-0/+1
|
* turnip: Don't return from tu_stub funcsChad Versace2019-03-111-7/+0
| | | | | Since the macros are lowercase and look like normal functions, that they change control flow with a hidden return is surprising.
* turnip: Fix 'unused' warningsChad Versace2019-03-114-9/+26
| | | | Now turnip builds without warnings on my machine.
* turnip: Add TODO fileChad Versace2019-03-111-0/+3
|
* turnip: Replace fd_bo with tu_boChad Versace2019-03-114-10/+211
| | | | (olv, after rebase) remove inc_drm_uapi
* turnip: Use vk_errorf() for initialization error messagesChad Versace2019-03-111-21/+8
| | | | This small cleanup better prepares turnip for VK_EXT_debug_report.
* turnip: Add TODO for Android loggingChad Versace2019-03-111-0/+2
|
* turnip: Require DRM device version >= 1.3Chad Versace2019-03-111-0/+17
| | | | Because the driver will require support for iova.
* turnip: Fix indentationChad Versace2019-03-111-2/+2
|
* turnip: Fix a real -Wmaybe-uninitializedChad Versace2019-03-111-1/+1
|
* turnip: Use vk_outarray in all relevant public functionsChad Versace2019-03-111-75/+35
|
* turnip: Fix result of vkEnumerate*ExtensionPropertiesChad Versace2019-03-111-0/+9
| | | | | Given an unsupported layer name, the functions must return VK_ERROR_LAYER_NOT_PRESENT.
* turnip: Fix result of vkEnumerate*LayerPropertiesChad Versace2019-03-111-14/+4
| | | | | The functions must not return VK_ERROR_LAYER_NOT_PRESENT. The spec reserves that error for vkEnumerate*ExtensionProperties.
* turnip: Fix indentation in function signaturesChad Versace2019-03-1119-652/+652
| | | | | Due to s/anv/tu/, in many function signatures the indentation of parameters was off-by-one.
* turnip: Disable more features.Bas Nieuwenhuizen2019-03-111-19/+19
|
* turnip: Initialize memory type in requirements.Bas Nieuwenhuizen2019-03-111-2/+2
|
* turnip: Cargo cult the Intel heap size functionality.Bas Nieuwenhuizen2019-03-111-5/+18
|
* turnip: Report a memory type and heap.Bas Nieuwenhuizen2019-03-111-1/+17
|
* turnip: Add buffer allocation & mapping support.Bas Nieuwenhuizen2019-03-112-6/+25
|
* turnip: Fix newly introduced warning.Bas Nieuwenhuizen2019-03-111-0/+2
|
* turnip: Remove abort.Bas Nieuwenhuizen2019-03-111-1/+0
|
* turnip: Gather some device info.Bas Nieuwenhuizen2019-03-113-2/+60
|
* turnip: Fix up detection of device.Bas Nieuwenhuizen2019-03-111-4/+3
|
* turnip: Drop Makefile.am and Android.mkChad Versace2019-03-113-459/+0
| | | | | | | | | | The Makefile.am doesn't work. I tried fixing it but gave up because I don't understand Autotools. I strongly suspect the Android.mk also doesn't work. Rather than maintain the broken build files, let's delete them and re-add working build files if-and-when we need them. (Maybe we'll be lucky and turnip will never need to support Autotools!).
* turnip: Add driver skeleton (v2)Bas Nieuwenhuizen2019-03-1134-2/+9893
| | | | | | | | | | | | | | | | | meson files have been updated, autotools and android still need updating. Only build tested. v2 (chadv): - Rebase onto master. - Fix build breakage in Python scripts. - Drop the WSI code. The internal WSI apis have changed recently, and will likely change again before the driver goes upstream. To avoid unnecessary rebase work, let's drop the WSI code and re-add it when we're ready to really use WSI. (olv, after rebase) do not enable freedreno by default on ARM
* nir/serialize: Prevent writing uninitialized state_slot dataConnor Abbott2019-03-111-5/+14
| | | | | | | | The nir_state_slot struct had some padding that was never initialized. Serializing the individual parts of the struct is more robust and avoids the overhead of zeroing it at creation, so just do that. Reviewed-by: Jason Ekstrand <[email protected]>
* anv: release memory allocated by glsl types during spirv_to_nirTapani Pälli2019-03-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fixes leaks for each glsl_type generated: ==32470== 384 bytes in 3 blocks are possibly lost in loss record 18 of 18 ==32470== at 0x483880B: malloc (vg_replace_malloc.c:309) ==32470== by 0x4C43F4A: ralloc_size (ralloc.c:119) ==32470== by 0x4C44014: rzalloc_size (ralloc.c:151) ==32470== by 0x4C44258: rzalloc_array_size (ralloc.c:215) ==32470== by 0x4D38957: glsl_type::glsl_type(glsl_struct_field const*, unsigned int, char const*) (glsl_types.cpp:114) ==32470== by 0x4D3BEED: glsl_type::get_struct_instance(glsl_struct_field const*, unsigned int, char const*) (glsl_types.cpp:1146) ==32470== by 0x4D42ECC: glsl_struct_type (nir_types.cpp:501) ==32470== by 0x4CDB5A1: vtn_handle_type (spirv_to_nir.c:1269) ==32470== by 0x4CE53DD: vtn_handle_variable_or_type_instruction (spirv_to_nir.c:4018) ==32470== by 0x4CD8CFF: vtn_foreach_instruction (spirv_to_nir.c:365) ==32470== by 0x4CE5E6B: spirv_to_nir (spirv_to_nir.c:4490) ==32470== by 0x497AF10: anv_shader_compile_to_nir (anv_pipeline.c:173) v2: move release call to vkDestroyInstance Signed-off-by: Tapani Pälli <[email protected]> Cc: [email protected] Reviewed-by: Lionel Landwerlin <[email protected]>
* wsi/x11: use WSI_FROM_HANDLE() instead of pointer castsEric Engestrom2019-03-111-1/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* wsi/wayland: fix pointer casting warning on 32bitEric Engestrom2019-03-111-1/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* wsi/display: s/#if/#ifdef/ to fix -WundefEric Engestrom2019-03-111-1/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* wsi: deduplicate get_current_time() functions between display and x11Eric Engestrom2019-03-114-24/+18
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* anv: release memory allocated by bo_heap when descriptor pool is destroyedTapani Pälli2019-03-111-0/+2
| | | | | | | | | | | | | | | Fixes following leak: ==21853== 32 bytes in 1 blocks are definitely lost in loss record 2 of 20 ==21853== at 0x483AB1A: calloc (vg_replace_malloc.c:762) ==21853== by 0x4C4DD7F: util_vma_heap_free (vma.c:221) ==21853== by 0x4C4D647: util_vma_heap_init (vma.c:46) ==21853== by 0x4957B9F: anv_CreateDescriptorPool (anv_descriptor_set.c:578) Fixes: c520f4dec9cb ("anv: Add a concept of a descriptor buffer") Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv: destroy descriptor sets when pool gets destroyedTapani Pälli2019-03-112-0/+18
| | | | | | | | | | | | | | | | | | | | | | | Patch maintains a list of sets in the pool and destroys possible remaining sets when pool is destroyed. As stated in Vulkan spec: "When a pool is destroyed, all descriptor sets allocated from the pool are implicitly freed and become invalid." This fixes memory leaks spotted with valgrind: ==19622== 96 bytes in 1 blocks are definitely lost in loss record 2 of 3 ==19622== at 0x483880B: malloc (vg_replace_malloc.c:309) ==19622== by 0x495B67E: default_alloc_func (anv_device.c:547) ==19622== by 0x4955E05: vk_alloc (vk_alloc.h:36) ==19622== by 0x4956A8F: anv_multialloc_alloc (anv_private.h:538) ==19622== by 0x4956A8F: anv_CreateDescriptorSetLayout (anv_descriptor_set.c:217) Fixes: 14f6275c92f1 ("anv/descriptor_set: add reference counting for descriptor set layouts") Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv: add support for dumping shader info via VK_EXT_debug_reportTimothy Arceri2019-03-112-12/+39
| | | | | | This information will be used by the vkpipeline-db tool. Reviewed-by: Jason Ekstrand <[email protected]>
* iris: Fix backface stencil write conditionKenneth Graunke2019-03-101-1/+1
| | | | A bit too much search and replace here.
* panfrost/drm: Cast pointer to u64 to fix warningAlyssa Rosenzweig2019-03-101-1/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add backend targeting the DRM driverTomeu Vizoso2019-03-109-74/+607
| | | | | | | | | | | | | | | | | | | This backend interacts with the new DRM driver for Midgard GPUs which is currently in development. When using this backend, Panfrost has roughly on-par functionality as when using the non-DRM driver from Arm. Alyssa Rosenzweig: To do so, we implement additional routines for runtime GPU version detection and fencing. We cleanup some duplicate code interfering with the new driver. We fix a long-standing memory leak which is aggravated on the new driver. Finally, we implement BO import/export in a way compatible with the new driver. These changes are squashed to preserve bisectability given the hard-to-track ABI shifts in the nondrm module Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add gem_handle to panfrost_memory and panfrost_boTomeu Vizoso2019-03-102-0/+3
| | | | | | | It will be used by the DRM backend to store GEM handles from the kernel. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* freedreno/a6xx: more bcolor fixesRob Clark2019-03-101-2/+2
| | | | | | | | | | | | | | Non-zero offset wasn't working, which breaks a bunch of dEQP-GLES31.functional.texture.border_clamp.formats.* when doing sharded deqp runs (because order of tests changes, resulting in different texture state bound.. deqp doesn't really clean up it's gl state between tests very well) Previously, if additional textures were bound, due to using too small of a bcolor_entry size, the last 32bytes of the bcolor_entry would be overwritten. Signed-off-by: Rob Clark <[email protected]>
* gitlab-ci: add panfrost to the gallium drivers buildEric Engestrom2019-03-091-1/+1
| | | | Signed-off-by: Eric Engestrom <[email protected]>
* panfrost: move #include to fix compilationEric Engestrom2019-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | In standalone.h, the struct gl_context type is not declared by #includ'ing mtypes.h: In file included from src/gallium/drivers/panfrost/midgard/cmdline.c:24: src/compiler/glsl/standalone.h:46:14: warning: ‘struct gl_context’ declared inside parameter list will not be visible outside of this definition or declaration struct gl_context *ctx); ^~~~~~~~~~ This causes the following compilation failure: src/gallium/drivers/panfrost/midgard/cmdline.c: In function ‘compile_shader’: src/gallium/drivers/panfrost/midgard/cmdline.c:58:61: error: passing argument 4 of ‘standalone_compile_shader’ from incompatible pointer type [-Werror=incompatible-pointer-types] prog = standalone_compile_shader(&options, 2, argv, &local_ctx); ^~~~~~~~~~ In file included from src/gallium/drivers/panfrost/midgard/cmdline.c:24: src/compiler/glsl/standalone.h:43:28: note: expected ‘struct gl_context *’ but argument is of type ‘struct gl_context *’ struct gl_shader_program * standalone_compile_shader( ^~~~~~~~~~~~~~~~~~~~~~~~~ Fixes: e67e0726372ab65f4104 "panfrost: Implement Midgard shader toolchain" Cc: Alyssa Rosenzweig <[email protected]> Signed-off-by: Eric Engestrom <[email protected]>
* panfrost: fix tgsi_to_nir() callEric Engestrom2019-03-091-1/+1
| | | | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=109945 Fixes: 7da251fc721360fc28b9 "panfrost: Check in sources for command stream" Cc: Alyssa Rosenzweig <[email protected]> Signed-off-by: Eric Engestrom <[email protected]>