summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600: don't do stack workarounds for hemlockRoland Scheidegger2018-02-051-0/+1
| | | | | | | | | | By the looks of it it seems hemlock is treated separately to cypress, but certainly it won't need the stack workarounds cedar/redwood (and seemingly every other eg chip except cypress/juniper) need. (Discovered by accident.) Acked-by: Alex Deucher <[email protected]> (cherry picked from commit c2f0e0885776f3f0a18b9db08149564d4b98e5b7)
* glx/test: fix building for osxJon Turney2018-02-052-0/+16
| | | | | | | | | An additional stub for applegl_create_context() is needed Cannot test indirect API as it's not built on osx, currently Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit 63041ba61308a0576c73cb6bc3d98540669188cf)
* glx/apple: locate dispatch table functions to wrap by nameJon Turney2018-02-053-7/+22
| | | | | | | | | | | | | | Avoid reaching into the dispatch table internals (and thus having to deal with the complexities of remap etc.) by identifying functions to wrap by name. See: https://lists.freedesktop.org/archives/mesa-dev/2015-June/086721.html et seq. https://bugs.freedesktop.org/show_bug.cgi?id=90311 Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit d3540b405b975450b9c2f9d8eb273be062cbf73a)
* glx/apple: include util/debug.h for env_var_as_boolean prototypeJon Turney2018-02-052-0/+2
| | | | | | | | | mesa/src/glx/glxcmds.c:1295:21: error: implicit declaration of function 'env_var_as_boolean' is invalid in C99 [-Werror,-Wimplicit-function-declaration] mesa/src/glx/apple/apple_visual.c:85:28: error: implicit declaration of function 'env_var_as_boolean' is invalid in C99 [-Werror,-Wimplicit-function-declaration] Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit b37b7b42dcc33d636c3db0558d032d7d95664c56)
* osx: ld doesn't support --build-idJon Turney2018-02-051-1/+1
| | | | | | Signed-off-by: Jon Turney <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit f8ed9f24d5eac1549e480dd0348d091b4299302e)
* mesa: Drop incorrect A4B4G4R4 _mesa_format_matches_format_and_type() cases.Eric Anholt2018-02-051-6/+0
| | | | | | | | | | | | swapBytes operates on bytes, not 4-bit channels, so you can't just take non-swapBytes cases and flip the REV flag. Avoids piglit texture-packed-formats regressions when enabling the ABGR4444 format. Fixes: c5a5c9a7db89 ("mesa/formats: add new mesa formats and their pack/unpack functions.") Reviewed-by: Marek Olšák <[email protected]> (cherry picked from commit 1429cd74c2c03a311d92a60b66806db3d96d6b16)
* meson: Don't confuse the install and search paths for dri driversDylan Baker2018-02-053-4/+4
| | | | | | | | | | | | | | | | | | | | | | Currently there is not a separate option for setting the search path of DRI drivers in meson, like there is in scons and autotools. This is an oversight and needs to be fixed. This adds an extra option `dri-search-path`, which will default to the value of `dri-drivers-path`, like autotools does. v2: - Split input list before joining. v3: - use : instead of ; as the delimiter. The autotools help string incorrectly says ; but the code uses : v4: - Take list in pre : delimited form (Ilia) - Ensure that the dri-search-path is absolute when using dri_drivers_path Fixes: db9788420d4bc7b4 ("meson: Add support for configuring dri drivers directory.") Reported-by: Ilia Mirkin <[email protected]> Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]> (v2) Reviewed-by: Eric Engestrom <[email protected]> (v3) (cherry picked from commit d7235ef83b92175537e3b538634ffcff29bf0dce)
* i965: Bump official kernel requirement to Linux v3.9.Kenneth Graunke2018-02-051-2/+2
| | | | | | | | | | | | | | | | | In commit 3f353342a6b6744773c26ed66b12afed42bd57af (present in 17.3.0) we started unconditionally using I915_EXEC_NO_RELOC, which was introduced in Linux v3.9. ChromeOS kernel 3.8 has backported this, so it should work too. Running on older kernels would likely result in every single batch being rejected by the kernel, which is pretty catastrophic. Yet, it appears that nobody noticed. So, let's just bump the official requirement and move forward ever so slowly. Fixes: 3f353342a6b ("i965: Use I915_EXEC_NO_RELOC") Reviewed-by: Chris Wilson <[email protected]> Acked-by: Emil Velikov <[email protected]> (cherry picked from commit c3cd2aac279908a2de755d9454f293761d7b8d5a)
* meson: don't install windows headers on non-windows platformsMarc Dietrich2018-02-051-1/+3
| | | | | | | | | Only dive into the windows subdir if windows platform is selected. Signed-off-by: Marc Dietrich <[email protected]> Fixes: 5ef75cb02b2b4db5506b8 "meson: build src/glx/windows" Reviewed-by: Eric Engestrom <[email protected]> (cherry picked from commit 4c5f0b4fd45a5ca96a0e3137c177140dd85b149e)
* i965: perform 2 uploads with dual slot *64*PASSTHRU formats on gen<8Andres Gomez2018-02-051-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The emission of vertex attributes corresponding to dvec3 and dvec4 vertex shader input variables was not correct when the <size> passed to the VertexAttribL* commands was <= 2. In 61a8a55f557 ("i965/gen8: Fix vertex attrib upload for dvec3/4 shader inputs"), for gen8+ we needed to determine if the attrib was dual slot to emit 128 or 256-bit, independently of the VAO size. Similarly, for gen < 8 we also need to determine whether the attrib is dual slot to force the emission of 256-bits through 2 uploads. Additionally, we make use of the ISL_FORMAT_R32_FLOAT format in this second upload to fill these unspecified components with zeros, as we also do for gen8+. Fixes the following test on Haswell: KHR-GL46.vertex_attrib_binding.basic-inputL-case1 v2: Added more inline comments to explain why we are using ISL_FORMAT_R32_FLOAT and its consequences, as requested by Alejandro and Antía. Fixes: 75968a668e4 ("i965/gen7: expose OpenGL 4.2 on Haswell when supported") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103006 Cc: Alejandro Piñeiro <[email protected]> Cc: Juan A. Suarez Romero <[email protected]> Cc: Antia Puentes <[email protected]> Cc: Rafael Antognolli <[email protected]> Cc: Kenneth Graunke <[email protected]> Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Alejandro Piñeiro <[email protected]> Reviewed-by: Antia Puentes <[email protected]> Reviewed-by: Rafael Antognolli <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit 5a7aba2e0a7fb3414a94d04d5970a2ed10c1f63e)
* winsys/radeon: Compute is_displayable in surf_drm_to_winsysMichel Dänzer2018-02-051-0/+3
| | | | | | | | | It was always 0, breaking (at least) DRI3 with Xwayland. Bugzilla: https://bugs.freedesktop.org/104306 Fixes: 5f2073be3282 ("ac/surface: add ac_surface::is_displayable") Reviewed-by: Marek Olšák <[email protected]> (cherry picked from commit 1cf1bf32eff5ffca0b928c0884b0e792207b61b7)
* radv: remove predication on cache flushesMatthew Nicholls2018-02-054-18/+13
| | | | | | | | | | | | | | | This can lead to a situation where cache flushes could get conditionally disabled while still clearing the flush_bits, and thus flushes due to application pipeline barriers may never get executed. Fixes: a6c2001ace (radv: add support for cmd predication.) Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit ef272b161e05e8216f2d1f4df5023f3aed0ae4fa) [Emil Velikov: trivial conflicts] Signed-off-by: Emil Velikov <[email protected]> Conflicts: src/amd/vulkan/radv_cmd_buffer.c
* virgl: also remove dimension on indirect.Dave Airlie2018-02-051-1/+0
| | | | | | | | | | This fixes some dEQP tests that generated bad shaders. Fixes: b6f6ead19 (virgl: drop const dimensions on first block.) Reviewed-by: Gurchetan Singh <[email protected]> Tested-by: Gurchetan Singh <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 49c61d8b841538e09b8c2b2d2f409147fd7b549a)
* radv/gfx9: fix block compression texture views. (v2)Dave Airlie2018-02-051-4/+49
| | | | | | | | | | | | | | | | | This ports a fix from amdvlk, to fix the sizing for mip levels when block compressed images are viewed using uncompressed views. My original fix didn't power the clamping, but it looks like the clamping is required to stop the sizing going too large. Fixes: dEQP-VK.image.texel_view_compatible.graphic.extended*bc* Doesn't crash DOW3 anymore. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: e38685cc62e 'Revert "radv: disable support for VEGA for now."' Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit f6cc15dccd54ff70be987457af790cac1c8fe5bb)
* radv: Signal fence correctly after sparse binding.Bas Nieuwenhuizen2018-02-051-14/+32
| | | | | | | | | | It did not signal syncobjs in the fence, and also signalled too early if there was work on the queue already, as we have to wait till that work is done. Fixes: d27aaae4d2 "radv: Add external fence support." Reviewed-by: Samuel Pitoiset <[email protected]> (cherry picked from commit 0347a83bbfd8d993742e125335c6ae46a6aa5a15)
* meson: libdrm shouldn't appear in Requires.private: if it wasn't foundJon Turney2018-02-051-1/+6
| | | | | | | | | | | | | | | | Otherwise, using pkg-config to retrieve flags will fail, e.g. $ pkg-config gl --cflags Package libdrm was not found in the pkg-config search path. Perhaps you should add the directory containing `libdrm.pc' to the PKG_CONFIG_PATH environment variable Package 'libdrm', required by 'gl', not found Fixes: 3218056e0eb3 ("meson: Build i965 and dri stack") Reviewed-by: Dylan Baker <[email protected]> Signed-off-by: Jon Turney <[email protected]> (cherry picked from commit 4a0bab1d7f942ad0ac9b98ab34e6a9e4694f3c04)
* st/shader_cache: restore num_tgsi_tokens when loading from cacheTimothy Arceri2018-02-051-9/+16
| | | | | | | | | | | | Without this we will fail to correctly serialise programs when using glGetProgramBinary() if the program was retrieved from the disk cache rather than freshly compiled. Fixes: c69b0dd6817b "st/glsl_to_tgsi: store num_tgsi_tokens in st_*_program" Reviewed-by: Gert Wollny <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104762 (cherry picked from commit 041b18cf23a0acf7b0eddf63cd7a2a10192432a1)
* i965/gen10: Use CS Stall instead of WriteImmediate.Rafael Antognolli2018-02-051-6/+4
| | | | | | | | Fixes: ca19ee33d7d39cb89d948b1c983763065975ce5b Signed-off-by: Rafael Antognolli <[email protected]> Cc: Kenneth Graunke <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 131e871385b343467d3f8be0a8f3ccf09ab81075)
* anv/gen10: Emit CS stall and mark push constants dirty.Rafael Antognolli2018-02-052-7/+12
| | | | | | | | | | | | I got reviews and fixed the patches locally, but ended up merging the ones that I sent originally to the list. This patch fixes those mistakes. Fixes: 78c125af3904c539ea69bec2dd9fdf7a5162854f Signed-off-by: Rafael Antognolli <[email protected]> Cc: Jason Ekstrand <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 20578f81a6a9a7d13b97083863d1240ac13aa5bd)
* util/build-id: Fix address comparison for binaries with LOAD vaddr > 0Stephan Gerhold2018-02-051-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | build_id_find_nhdr_for_addr() fails to find the build-id if the first LOAD segment has a virtual address other than 0x0. For most shared libraries, the first LOAD segment has vaddr=0x0: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0x2d2e26 0x2d2e26 R E 0x1000 LOAD 0x2d2e54 0x002d3e54 0x002d3e54 0x2e248 0x2f148 RW 0x1000 However, compiling the Intel Vulkan driver as 32-bit binary on Android produces the following ELF header with vaddr=0x8000 instead: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000034 0x00008034 0x00008034 0x00100 0x00100 R 0x4 LOAD 0x000000 0x00008000 0x00008000 0x224a04 0x224a04 R E 0x1000 LOAD 0x225710 0x0022e710 0x0022e710 0x25988 0x27364 RW 0x1000 build_id_find_nhdr_callback() compares the address of dli_fbase from dladdr() and dlpi_addr from dl_iterate_phdr(). With vaddr > 0, these point to a different memory address, e.g.: dli_fbase=0xd8395000 (offset 0x8000) dlpi_addr=0xd838d000 At least on glibc and bionic (Android) dli_fbase refers to the address where the shared object is mapped into the process space, whereas dlpi_addr is just the base address for the vaddrs declared in the ELF header. To compare them correctly, we need to calculate the start of the mapping by adding the vaddr of the first LOAD segment to the base address. Note: musl users will need the following patch. https://git.musl-libc.org/cgit/musl/commit/?id=b3ae7beabb9f0c219bb8a8b63567a01c6530c1ac Cc: Chad Versace <[email protected]> Cc: <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104642 Fixes: 5c98d38 "util: Query build-id by symbol address, not library name" Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> (cherry picked from commit 02e2009b929a0f101540b9b55c5f0ed859d1b3be)
* i965: Create new program cache bo when clearing the program cacheJordan Justen2018-02-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When the disk shader cache CI testing was enabled, we started noticing occasional failures on deqp test runs. (Mainly SNB, rarely HSW) Before this change, when we cleared the (in memory) program cache we reused the same bo. Since the disk shader cache quickly restores programs, it appears that this would lead to overwrites of the older program binaries in the in memory program cache that apparently were still executing in some cases. If these programs were still executing, this could cause a GPU hang. This issue is probably not disk shader cache specific, but may have been hidden due to the compiler taking time to recompile programs after the cache was cleared. v2: * Don't add `copy` param to brw_cache_new_bo (Ken) * Call from brw_program_cache_check_size (Ken) Cc: Kenneth Graunke <[email protected]> Cc: [email protected] Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit 83e60ce927142752c57163fcb8b30eca2370d014)
* meson/swr: Updated copyright datesGeorge Kyriazis2018-02-054-4/+4
| | | | | | | | cc: [email protected] cc: [email protected] Reviewed-by: Dylan Baker <[email protected]> (cherry picked from commit bbef9474fa52d9aba06eeede52558fc5ccb762dd)
* meson/swr: re-shuffle generated filesGeorge Kyriazis2018-02-054-80/+126
| | | | | | | | | | | | | Move generated files from codegen/meson.build to other directories, in order to satisfy generated include file dependencies Add correct file lists for architecture-specific libraries. cc: [email protected] cc: [email protected] Reviewed-by: Dylan Baker <[email protected]> (cherry picked from commit 16bf8138308008f4b889caa827a8291ff72745b8)
* i965: Call prepare_external after implicit window-system MSAA resolvesJason Ekstrand2018-02-051-0/+15
| | | | | | | | | | This fixes some rendering corruption in a couple of Android apps that use window-system MSAA. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104741 Cc: [email protected] Reviewed-by: Tapani Pälli <[email protected]> (cherry picked from commit 2f7205be47bbb730cdfa0a037224b9ebd5224fd1)
* radv: Stop advertising VK_KHX_multiviewEmil Velikov2018-02-051-1/+1
| | | | | | | | We don't want to advertise experimental extensions in actual releases. However, there's no harm in leaving the code lying around in the tree. [Emil Velikov: port from equivalent ANV commit] Signed-off-by: Emil Velikov <[email protected]>
* anv: Stop advertising VK_KHX_multiviewJason Ekstrand2018-02-051-1/+1
| | | | | | | | | | | We don't want to advertise experimental extensions in actual releases. However, there's no harm in leaving the code lying around in the tree. (cherry picked from commit e4371d14f17049e4878966de60cfb88e8cd137cb) Signed-off-by: Emil Velikov <[email protected]> Conflicts: src/intel/vulkan/anv_device.c
* renderonly: fix dumb BO allocation for non 32bpp formatsLucas Stach2018-02-051-1/+2
| | | | | | | | | | | | | Take into account the resource format, instead of applying a hardcoded 32bpp. This not only over-allocates 16bpp formats, but also results in a wrong stride being filled into the handle. Fixes: 848b49b288f ("gallium: add renderonly library") CC: <[email protected]> Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Philipp Zabel <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (cherry picked from commit 0c71a19fe4368beaaf7ac676403b3079ad658890)
* anv/cmd_buffer: Re-emit the pipeline at every subpassJason Ekstrand2018-02-051-0/+11
| | | | | | | | | | | If we ever hit this edge-case, it can theoretically cause problem for CNL because we could end up changing render targets without re-emitting 3DSTATE_MULTISAMPLE which is part of the pipeline. Just get rid of the edge case. Cc: [email protected] Reviewed-by: Iago Toral Quiroga <[email protected]> (cherry picked from commit 97938dac36e2875001ba24a7968e4cd8e2271321)
* r600/sb: insert the else clause when we might depart from a loopDave Airlie2018-02-051-0/+17
| | | | | | | | | | | | | | | If there is a break inside the else clause and this means we are breaking from a loop, the loop finalise will want to insert the LOOP_BREAK/CONTINUE instruction, however if we don't emit the else there is no where for these to end up, so they will end up in the wrong place. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101442 Tested-By: Gert Wollny <[email protected]> Cc: <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 8d633f067b8a3d74e3f39faea0773a229d4b93b3)
* nir: mark unused space in packed_tex_dataTapani Pälli2018-02-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | This change cleans following scary warnings in valgrind output when disk cache is being written: ==6532== Uninitialised byte(s) found during client check request ==6532== at 0x14423FAD: blob_write_bytes (blob.c:152) ==6532== by 0x144240FB: blob_write_uint32 (blob.c:194) ==6532== by 0x144001A5: write_tex (nir_serialize.c:613) and later (loads of): ==6532== Use of uninitialised value of size 8 ==6532== at 0x62FCD9E: crc32_z (in /usr/lib64/libz.so.1.2.11) ==6532== by 0x13F65014: util_hash_crc32 (crc32.c:127) ==6532== by 0x13F5DABA: cache_put (disk_cache.c:947) Signed-off-by: Tapani Pälli <[email protected]> Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit d0343bef6680cc660ba691bbed31a2a1b7449f79)
* i965: fix disk_cache leak when destroying contextTapani Pälli2018-02-051-0/+3
| | | | | | | | | | | | | | | | | ==2780== 1,024 bytes in 1 blocks are possibly lost in loss record 180 of 205 ==2780== at 0x4C31A1E: calloc (vg_replace_malloc.c:711) ==2780== by 0x13F6467E: util_queue_init (u_queue.c:309) ==2780== by 0x13F5C9F6: disk_cache_create (disk_cache.c:369) ==2780== by 0x13F05406: brw_disk_cache_init (brw_disk_cache.c:428) ==2780== by 0x13F01E78: brwCreateContext (brw_context.c:1068) Fixes: 1a61a8b9a7c ("i965: Initialize disk shader cache if MESA_GLSL_CACHE_DISABLE is false") Signed-off-by: Tapani Pälli <[email protected]> Cc: [email protected] Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Jordan Justen <[email protected]> (cherry picked from commit b99c88037bf64b033579f237ec287857c53b0ad6)
* i965: fix prog_data leak in brw_disk_cacheTapani Pälli2018-02-051-0/+2
| | | | | | | | | | | | | | | | ==25481== 576 bytes in 1 blocks are definitely lost in loss record 179 of 208 ==25481== at 0x4C2FB6B: malloc (vg_replace_malloc.c:299) ==25481== by 0x1404E2CC: ralloc_size (ralloc.c:121) ==25481== by 0x14119F82: read_and_upload (brw_disk_cache.c:176) ==25481== by 0x1411A5C9: brw_disk_cache_upload_program (brw_disk_cache.c:271) ==25481== by 0x1412FCA4: brw_upload_wm_prog (brw_wm.c:597) Fixes: 516d50db319 ("i965: add initial implementation of on disk shader cache") Cc: [email protected] Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit 28db950b51274ce296cd625db62abe935d1e4ed9)
* r600/eg: construct proper rat mask for image/buffers.Dave Airlie2018-02-053-8/+30
| | | | | | | | | | | If the images/buffer bindings had a gap, this produced the wrong values, this should fix that to generate the correct rat mask for mixes of images/buffers/cbs. Reviewed-by: Roland Scheidegger <[email protected]> Cc: "18.0" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit e0e23ea69cab23b9193b1e7c568fd23fc7073071)
* winsys/amdgpu: fix assertion failure with UVD and VCE ringsMarek Olšák2018-02-051-2/+1
| | | | | Cc: 18.0 <[email protected]> (cherry picked from commit 17423c993d0b083c7a77a404b85788687f5efe36)
* anv_icd.py: improve reproducible buildsMaxin B. John2018-01-261-1/+1
| | | | | | | | | | | Sort the output to ensure build reproducibility Signed-off-by: Maxin B. John <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Fixes: 0ab04ba979b ("anv: Use python to generate ICD json files") Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 8116b9170bc36bb15512f97a7680ad97bddd56a8)
* radeonsi: Export signalled sync file instead of -1.Bas Nieuwenhuizen2018-01-263-0/+29
| | | | | | | | | -1 is considered an error for EGL_ANDROID_native_fence_sync, so we need to actually create a sync file. Fixes: f536f45250 "radeonsi: implement sync_file import/export" Reviewed-by: Dave Airlie <[email protected]> (cherry picked from commit 5a3404d443e0c6e8e9a44d7f8dccf96c5ac18f0f)
* radv: don't enable tc compat for d32s8 + 4/8 samples (v1.1)Dave Airlie2018-01-261-1/+2
| | | | | | | | | | | | | | | | | | | This seems to be broken, at least the cts tests fail. This fixes: dEQP-VK.renderpass.suballocation.multisample.d32_sfloat_s8_uint.samples_4 dEQP-VK.renderpass.suballocation.multisample.d32_sfloat_s8_uint.samples_8 2 samples seems to pass fine, amdvlk doesn't appear to enable TC for possibly some other reasons here. This is most likely a hack. v1.1: add a bit of explaination text. (Samuel) Fixes: ad3d98da9 (radv: enable tc compatible htile for d32s8 also.) Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> (cherry picked from commit f4c534ef68a479055190f8ec8d551be0f56ef361)
* gallivm: fix crash with seamless cube filtering with different min/mag filterRoland Scheidegger2018-01-261-17/+21
| | | | | | | | | | | | | | | We are not allowed to modify the incoming coords values, or things may crash (as we may be inside a llvm conditional and the values may be used in another branch). I recently broke this when fixing an issue with NaNs and seamless cube map filtering, and it causes crashes when doing cubemap filtering if the min and mag filters are different. Add const to the pointers passed in to prevent this mishap in the future. Fixes: a485ad0bcd ("gallivm: fix an issue with NaNs with seamless cube filtering") Reviewed-by: Jose Fonseca <[email protected]> (cherry picked from commit 4fe662c58f6453b3558de479e7c2bfe4158dc26c)
* meson: fix missing dependenciesGreg V2018-01-262-2/+2
| | | | | | | Fixes: 66f97f6640f5 ("meson: build radeonsi") Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]> (cherry picked from commit 7c8cfe2d59bfc0dbf718a74b08b6dceaa84f7242)
* meson: correctly set SYSCONFDIR for loading dirrcDylan Baker2018-01-261-2/+6
| | | | | | | | Fixes: d1992255bb29 ("meson: Add build Intel "anv" vulkan driver") Reported-by: Marc Dietrich <[email protected]> Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> (cherry picked from commit 5781c3d1db4a01e77f416c1685025c4d830ae87d)
* radv: move spi_baryc_cntl to pipelineDave Airlie2018-01-263-5/+5
| | | | | | | | | | | | | We need to enable the pos float location 2 mode anytime we have persample not just when forced by the frag shader. This fixes: dEQP-VK.pipeline.multisample.min_sample_shading* Fixes: 58c97a079 (radv: enable location at sample when persample is forced.) Reviewed-by: Samuel Pitoiset <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 298554541da220ebdcd9aa9b9055ede2481d5817)
* vbo: fix incorrect min/max_index values in display list draw callBrian Paul2018-01-263-3/+8
| | | | | | | | | | | | | | | This fixes another regression from commit 8e4efdc895ea ("vbo: optimize some display list drawing"). The problem was the min_index, max_index values passed to the vbo drawing function were not computed to compensate for the biased prim::start values. https://bugs.freedesktop.org/show_bug.cgi?id=104746 https://bugs.freedesktop.org/show_bug.cgi?id=104742 https://bugs.freedesktop.org/show_bug.cgi?id=104690 Tested-by: Clayton Craft <[email protected]> Fixes: 8e4efdc895ea ("vbo: optimize some display list drawing") Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit 365a48abddcabf6596c2e34a784d91c8ab929918)
* radv: fix sample_mask_in loading. (v3.1)Dave Airlie2018-01-264-6/+56
| | | | | | | | | | | | | | | This is ported from radeonsi and fixes: dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.bit_* v2: don't call this path for radeonsi, it does it in the epilog. use the radeonsi code path. v3: handle NULL pCreateInfo->pMultisampleState properly (Samuel) v3.1: set ps_iter_samples default to 1 (Bas) Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: bdcbe7c76 (radv: add sample mask input support) Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 766589d89a211e67f313e8cb38f2d05b09975f96)
* radv: don't use hw resolves for r16g16 norm formats.Dave Airlie2018-01-261-1/+4
| | | | | | | | | | | | | | radeonsi has a workaround for this, but it uses a R16A16 format, which vulkan doesn't have, we could probably come up with a work around but for now just avoid hw resolves. Fixes: dEQP-VK.renderpass.suballocation.multisample.r16g16_*norm* Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: 2a04f5481d (radv/meta: select resolve paths) Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit c727ea9370adc5362e00208b9f1481764b8ef215)
* radv: don't use hw resolve for integer image formatsDave Airlie2018-01-261-0/+5
| | | | | | | | | | | | | | | From reading AMDVLK it currently never uses hw resolve paths. This patch takes from radeonsi which doesn't use hw resolve for integer formats, and does the same for radv. This fixes: dEQP-VK.renderpass.suballocation.multisample*uint tests. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: 2a04f5481d (radv/meta: select resolve paths) Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 4df414bbd2f1a44840c982198f4c8353f242ca15)
* radv: add fs_key meta format support to resolve passes.Dave Airlie2018-01-262-30/+61
| | | | | | | | | | | | | Some of the hw resolve passes need the SPI color format setup correctly. This fixes lots of 16-bit and 32-bit format tests in dEQP-VK.renderpass.suballocation.multisample* Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: f4e499ec7914 "radv: add initial non-conformant radv vulkan driver" Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 316d762186f0bfc225b82794fdae520275a448db)
* meson: remove lib prefix from libd3dadapter9.soChristoph Haag2018-01-261-0/+1
| | | | | | | Fixes: 6b4c7047d57178d336 ("meson: build gallium nine state_tracker") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]> (cherry picked from commit 4b4d929c27f1c395bb4ca6ef035dee7303ff5723)
* radeon: remove left over dead codeEric Engestrom2018-01-261-6/+0
| | | | | | | | Fixes: 4e0d99a63588c67a955f "r100: Use shared debug code" Cc: Pauli Nieminen <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]> (cherry picked from commit eee8dd7c3360ec0daf3d44168b6d1c32c52bf69b)
* i965/gen10: Re-enable push constants.Rafael Antognolli2018-01-261-9/+0
| | | | | | | | | | | The GPU hang caused by push constants is apparently fixed, so let's enable them again. Signed-off-by: Rafael Antognolli <[email protected]> Cc: "18.0" <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit bcfd78e4489f538e34138269650fc6cbe8c9d75f)
* anv/gen10: Ignore push constant packets during context restore.Rafael Antognolli2018-01-262-0/+48
| | | | | | | | | | | | Similar to the GL driver, ignore 3DSTATE_CONSTANT_* packets when doing a context restore. Signed-off-by: Rafael Antognolli <[email protected]> Cc: Jason Ekstrand <[email protected]> Cc: "18.0" <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 78c125af3904c539ea69bec2dd9fdf7a5162854f)