summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* radv: move {load,store}_var intrinsics scanning in different functionsSamuel Pitoiset2018-05-141-47/+80
| | | | | | | | These are going to be crazy and we are probably going to add more scan stuff in the future. Also use switch cases instead. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* android: change include "cutils/log.h" to "log/log.h" on Android API >=26jenny.q.cao2018-05-144-0/+16
| | | | | | | | | There is a compile warning from Android 8 (API version 26) from "include cutils/log.h" warning: "Deprecated: don't include cutils/log.h, use either android/log.h or log/log.h"-W#warnings, Change to include "log/log.h" on Android 8 or later major version to avoid this warning Signed-off-by: jenny.q.cao <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* llvmpipe: Fix random number generation for unit testsRoland Scheidegger2018-05-142-2/+19
| | | | | | | | | | | | | | | | | | | | | | | We were never producing negative numbers for signed types. Also fix only producing half the valid range for uint32, and properly clamp signed values. Because this now also properly tests snorm with actually negative values, need to increase eps for such conversions. I believe these cannot actually be hit in ordinary operation (e.g. if a snorm texture is sampled and output to snorm RT, it will still go through snorm->float and float->snorm conversion), so don't bother to do anything to fix the bad accuracy (might be quite complex). Basically, the issue is for something like snorm16->snorm8 that in the end this will just use a 8 bit arithmetic right shift. But the math behind it says we should actually do a division by 32767 / 127, which is ~258, not 256. So the result can be one bit off (values have too large magnitude), and furthermore, the shift has incorrect rounding (always rounds down). For positive numbers, these errors have different direction, but for negative ones they have the same, hence for some values the error will be 2 bit in the end. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106232
* radv: use compute path for multi-layer images.Dave Airlie2018-05-141-0/+2
| | | | | | | | | | | I don't think the hw resolve path can't handle multi-layer images. This fixes all the: dEQP-VK.renderpass.multisample_resolve.layers_* tests on my VI card. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: <[email protected]>
* radv: resolve all layers in compute resolve path.Dave Airlie2018-05-141-6/+42
| | | | | | | | | | | This path should iterate across all layers, I've some ideas for doing this in a single pass, but this is simpler for now. This passes the tests because we don't use the fragment path unless we have DCC, and we don't have DCC on layered images. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: <[email protected]>
* radv/resolve: do fmask decompress on all layers.Dave Airlie2018-05-141-1/+1
| | | | | | | | For a multi-layer subpass resolve we want to make sure we flush all the layers. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: <[email protected]>
* nvc0: fix setting of subpixel precision during conservative rasterizationRhys Perry2018-05-132-2/+2
| | | | | | Fixes: 07dac3e040 ("nvc0: add conservative rasterization support") Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* anv,nir: add generated files to .gitignore(s)Rhys Perry2018-05-122-0/+3
| | | | Reviewed-by: Jason Ekstrand <[email protected]>
* gallium: remove aux_vertex_buffer_slot codeMarek Olšák2018-05-1211-95/+45
| | | | | | The slot index is always 0, and is pretty unlikely to change in the future. Reviewed-by: Brian Paul <[email protected]>
* radv: add initial support for VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BITTimothy Arceri2018-05-134-16/+28
| | | | | | | | | | | | | | | | | | | When VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT is set we skip NIR linking optimisations and only run over the NIR optimisation loop once similar to the GLSLOptimizeConservatively constant used by some GL drivers. We need to run over the opts at least once to avoid errors in LLVM (e.g. dead vars it can't handle) and also to reduce the time spent compiling the IR in LLVM. With this change the Blacksmith Unity demos compilation times go from 329760 ms -> 299881 ms when using Wine and DXVK. V2: add bit to radv_pipeline_key Reviewed-by: Bas Nieuwenhuizen <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106246
* scons: Add PROGRAM_NIR_FILES.Vinson Lee2018-05-121-0/+1
| | | | | | | | | | | Fix SCons build error. Linking build/linux-x86_64-debug/gallium/targets/libgl-xlib/libGL.so.1.5 ... build/linux-x86_64-debug/mesa/libmesa.a(st_program.os): In function `st_translate_prog_to_nir': src/mesa/state_tracker/st_program.c:392: undefined reference to `prog_to_nir' Fixes: 5c33e8c7729e ("st/nir: use NIR for asm programs") Signed-off-by: Vinson Lee <[email protected]>
* st/nir: use NIR for asm programsTimothy Arceri2018-05-121-7/+58
| | | | Reviewed-by: Eric Anholt <[email protected]>
* st/nir: make st_nir_opts() available externallyTimothy Arceri2018-05-122-1/+3
| | | | | | The following patch will make use of this for asm style programs. Reviewed-by: Eric Anholt <[email protected]>
* radeon/vce: add firmware support for ver 53 and upBoyuan Zhang2018-05-111-2/+2
| | | | | | | All vce firmwares with major version greater than or equal to 53 are supported Signed-off-by: Boyuan Zhang <[email protected]> Reviewed-by: Leo Liu <[email protected]>
* etnaviv: remove pipe_fence_handle::ctxRob Clark2018-05-111-2/+0
| | | | | | | | | A fence can outlive the ctx it was created from (see glmark2).. etnaviv doesn't actually need fence->ctx so lets remove it before someone makes the mistake of assuming it is a valid pointer. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* swr/rast: Thread locked tiles improvementGeorge Kyriazis2018-05-117-24/+152
| | | | | | | - Change tilemgr TILE_ID encoding to use Morton-order (Z-order). - Change locked tiles set to bitset. Makes clear, set, get much faster. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add Builder::GetVectorType()George Kyriazis2018-05-112-0/+45
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Prepend the console output with a newlineGeorge Kyriazis2018-05-111-1/+1
| | | | | | It can get jumbled with output from other threads. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add ConcatLists()George Kyriazis2018-05-111-0/+6
| | | | | | for concatenating lists Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add constant initializer for uint64_tGeorge Kyriazis2018-05-112-0/+6
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Use binner topology to assemble backend attributesGeorge Kyriazis2018-05-111-1/+1
| | | | | | | | Previously was using the draw topology, which may change if GS or Tess are active. Only affected attributes marked with constant interpolation, which limited the impact. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Change formattingGeorge Kyriazis2018-05-111-1/+6
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* meson: Fix build for egl platform_x11 with dri3Ville Syrjälä2018-05-111-0/+1
| | | | | | | | | | | | | | | platform_x11 with dri3 needs inc_loader. In file included from ../src/egl/drivers/dri2/platform_x11_dri3.c:35:0: ../src/egl/drivers/dri2/egl_dri2.h:41:32: fatal error: loader_dri3_helper.h: No such file or directory In file included from ../src/egl/drivers/dri2/platform_x11.c:46:0: ../src/egl/drivers/dri2/egl_dri2.h:41:32: fatal error: loader_dri3_helper.h: No such file or directory In file included from ../src/egl/drivers/dri2/egl_dri2.c:61:0: ../src/egl/drivers/dri2/egl_dri2.h:41:32: fatal error: loader_dri3_helper.h: No such file or directory Cc: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Signed-off-by: Ville Syrjälä <[email protected]>
* radv: move ac_build_if_state on top of radv_nir_to_llvm.cSamuel Pitoiset2018-05-111-91/+92
| | | | | | | These helpers will be needed for future work. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* radv: minor cleanups in radv_fill_shader_variant()Samuel Pitoiset2018-05-111-14/+15
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* winsys/amdgpu: Destroy dev_hash table when the last winsys is removed.Jan Vesely2018-05-101-1/+6
| | | | | | | | Fixes memory leak on module unload. CC: <[email protected]> Signed-off-by: Jan Vesely <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* ac/gpu_info: add has_read_registers_queryMarek Olšák2018-05-104-3/+6
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add has_2d_tilingMarek Olšák2018-05-104-5/+6
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add has_sparse_vm_mappingsMarek Olšák2018-05-104-11/+12
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add has_unaligned_shader_loadsMarek Olšák2018-05-104-5/+8
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: expose ARB_query_buffer_object on ancient kernels tooMarek Olšák2018-05-101-3/+1
| | | | | | It doesn't use indirect dispatches. Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add has_indirect_compute_dispatchMarek Olšák2018-05-104-13/+11
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add kernel_flushes_tc_l2_after_ibMarek Olšák2018-05-104-2/+7
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add has_format_bc1_through_bc7Marek Olšák2018-05-104-6/+7
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add has_eqaa_surface_allocatorMarek Olšák2018-05-104-3/+7
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: clean up the reset status query implementationMarek Olšák2018-05-105-23/+26
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add has_bo_metadataMarek Olšák2018-05-104-2/+5
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add si_TA_CS_BC_BASE_ADDR_allowedMarek Olšák2018-05-104-3/+5
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add htile_cmask_support_1d_tilingMarek Olšák2018-05-105-9/+10
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/gpu_info: add kernel_flushes_hdp_before_ibMarek Olšák2018-05-104-4/+6
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: add an environment variable that forces EQAA for MSAA allocationsMarek Olšák2018-05-104-5/+59
| | | | | | This is for testing and experiments. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: set up EQAA image descriptors properlyMarek Olšák2018-05-101-16/+80
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: add EQAA SC,DB,CB register programmingMarek Olšák2018-05-102-8/+71
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: support creating EQAA color texturesMarek Olšák2018-05-103-17/+33
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/surface: add EQAA supportMarek Olšák2018-05-108-11/+43
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: use better sample locations for 8x EQAAMarek Olšák2018-05-101-21/+11
| | | | | | Verified with the piglit MSAA accuracy test. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: improve quality of 16 sample locationsMarek Olšák2018-05-101-2/+2
| | | | | | | This results in better 16x and 8x quality when using these locations. Verified with the piglit MSAA accuracy test. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: use better sample locations for 4x MSAAMarek Olšák2018-05-101-11/+10
| | | | | | | | | | | Discovered by luck. Verified with the piglit MSAA accuracy test. It also shows that the worst case EQAA 16s4f results in very good 4x MSAA in the worst case. Nine might not like these positions, but they are prettier to the eye and GL doesn't care. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: reorder sample locations as required by EQAAMarek Olšák2018-05-102-59/+98
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: simplify si_get_sample_positionMarek Olšák2018-05-101-29/+20
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>