| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
turnip: preliminary support for Wayland WSI | 7 年前 | |
| 6 年前 | ||
| 6 年前 | ||
turnip: clean up TODO. ./deqp-vk -n dEQP-VK.info.* Writing test log into TestResults.qpa dEQP Core unknown (0xcafebabe) starting.. target implementation = 'Surfaceless' WARNING: tu is not a conformant vulkan implementation, testing use only. WARNING: tu is not a conformant vulkan implementation, testing use only. Test case 'dEQP-VK.info.build'.. Pass (Not validated) Test case 'dEQP-VK.info.device'.. Pass (Not validated) Test case 'dEQP-VK.info.platform'.. Pass (Not validated) Test case 'dEQP-VK.info.memory_limits'.. Pass (Pass) DONE! Test run totals: Passed: 4/4 (100.0%) Failed: 0/4 (0.0%) Not supported: 0/4 (0.0%) Warnings: 0/4 (0.0%) | 7 年前 | |
turnip: Sub-allocate pipelines out of a device-global BO pool. Allocating a BO for each pipeline meant that for apps with many pipelines (such as Asphalt9 under ANGLE), we would end up spending too much time in the kernel tracking the BO references. Looking at CS:Source on zink, before we had 85 BOs for the pipelines for a total of 1036 kb, and now we have 7 BOs for a total of 896 kb. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
turnip: Update the msm_kgsl.h header with the sanitized 4.19 version The current msm_kgsl.h header in the tree isn't sanitized and the kernel specific macros will confuse a compiler. Copy in the sanitized version of the header from the 4.19 kernel tree which also adds a few new API bits that are currently unused but may be useful some day. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14651> | 1 年前 | |
turnip: Use vk_common_AcquireImageANDROID It's got some bug fixes that turnip never picked up. Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Hyunjun Ko <zzoon@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14411> | 1 年前 | |
turnip: Move autotune buffers to suballoc. Now the ANGLE trex_200 trace replay does a single BO allocation at startup for autotune results instead of one per frame (~350 for the whole replay). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
turnip: Move autotune buffers to suballoc. Now the ANGLE trex_200 trace replay does a single BO allocation at startup for autotune results instead of one per frame (~350 for the whole replay). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
tu: Fix sysmem depth attachment clear flushing We can't invalidate CCU if there is any dirty data that hasn't been flushed yet. In the case where we clear depth, we know that the depth attachment itself isn't dirty but there may be dirty data from other renderpasses. Therefore we need to flush before invalidating depth. Fixes: 487aa80 ("tu: Rewrite flushing to use barriers") Closes: #6987 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17940> (cherry picked from commit a7e64ab63c5aa0b5c2079badc3ae0d5668c234f8) | 1 年前 | |
tu: Do not flush ccu in clear/blits during renderpass For clear/blits ccu flush not only worse for perf, but also messes up flush_bits when executed in a conditional set of commands. We already don't flush for 3d blits. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6419 Fixes: 487aa807bd1b70602fcb6fbdabd101d4cff7c07b ("tu: Rewrite flushing to use barriers") Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16352> (cherry picked from commit 187d3df52c77b92bb8002f90818b0a9fce8a7e1a) | 1 年前 | |
turnip: Sub-allocate pipelines out of a device-global BO pool. Allocating a BO for each pipeline meant that for apps with many pipelines (such as Asphalt9 under ANGLE), we would end up spending too much time in the kernel tracking the BO references. Looking at CS:Source on zink, before we had 85 BOs for the pipelines for a total of 1036 kb, and now we have 7 BOs for a total of 896 kb. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
turnip: Sub-allocate pipelines out of a device-global BO pool. Allocating a BO for each pipeline meant that for apps with many pipelines (such as Asphalt9 under ANGLE), we would end up spending too much time in the kernel tracking the BO references. Looking at CS:Source on zink, before we had 85 BOs for the pipelines for a total of 1036 kb, and now we have 7 BOs for a total of 896 kb. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
tu: Add an extra storage descriptor for isam Based on a workaround the blob does. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288> | 1 年前 | |
tu: Rewrite dynamic descriptor handling We need to prepare for storage buffers having different sizes from uniform buffers. This switches dynamic_offset_offset to have units of bytes, the same as offset, and as a nice bonus we can more easily combine the dynamic and non-dynamic paths in various different places. This also entails rewriting the code that patches dynamic descriptors, since we can no longer assume a linear mapping between indices in dynamicOffsets and descriptor locations which the previous approach heavily relied on. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288> | 1 年前 | |
turnip: Move autotune buffers to suballoc. Now the ANGLE trex_200 trace replay does a single BO allocation at startup for autotune results instead of one per frame (~350 for the whole replay). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
tu: Fix indices of drm_msm_gem_submit_cmd when filling them For some reason CTS doesn't trigger the issue... When submit entry is not filled - kernel says: [drm:msm_ioctl_gem_submit] *ERROR* invalid type: 00000000 Fixes: dbae9fa7d8412252c96e53ef3d50f4349969928a ("tu: implement sysmem vs gmem autotuner") Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16474> (cherry picked from commit 9a11ad7efd56d28e1c83aaec5cecb7fa7720fc90) | 1 年前 | |
turnip: Allow image access on swapped formats. This is apparently something that gamescope would like to have, and the CTS's test coverage is happy with it. Fixes: #6011 (we hope) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15293> | 1 年前 | |
turnip: Ignore aspectMask for D32S8 framebuffer attachment Vulkan spec says: "When an image view of a depth/stencil image is used as a depth/stencil framebuffer attachment, the aspectMask is ignored and both depth and stencil image subresources are used." Since we use two planes for D32S8 format we have to add a special case for depth in addition to already existing case for stencil. Fixes hang in CTS: dEQP-VK.renderpass.depth_stencil_write_conditions.stencil_kill_write_d32sf_s8ui Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15532> | 1 年前 | |
turnip: Track refcounts on BOs in kgsl as well. I'm going to be using the BO refcount for the pipeline and autotune buffer suballocation. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
turnip: Convert fd_dev_info to const pointer Split out from earlier patch to reduce churn. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11790> | 1 年前 | |
turnip: Implement VK_ARM_rasterization_order_attachment_access Trivially implemented by using A6XX_GRAS_SC_CNTL_SINGLE_PRIM_MODE. This extension is useful for emulators e.g. AetherSX2 PS2 emulator and could drastically improve performance when blending is emulated. Relevant tests: dEQP-VK.rasterization.rasterization_order_attachment_access.* Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15106> | 1 年前 | |
turnip/perfetto: handle gpu timestamps being non-monotonic Perfetto requires time in clock snaphots to be monotonic, otherwise the clock would be excluded. GPU timestamps start from zero after every suspend-resume cycle which makes them non-monotonic. As a solution on msm we check whether GPU was just resumed and remember previous highest timestamp to then add it to the next timestamps. If the functionality to get whether gpu is resumed is unavailable or doesn't work - we fallback to a check for a discontinuity in timestamps. For kgsl we always use fallback. Fixes renderstage timeline disappearing in AGI. Or you could avoid the issue altogether by preventing GPU from going to sleep by increasing auto suspend delay e.g.: echo 5000 > /sys/devices/platform/soc\@0/3d00000.gpu/power/autosuspend_delay_ms Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14391> | 1 年前 | |
turnip/perfetto: handle gpu timestamps being non-monotonic Perfetto requires time in clock snaphots to be monotonic, otherwise the clock would be excluded. GPU timestamps start from zero after every suspend-resume cycle which makes them non-monotonic. As a solution on msm we check whether GPU was just resumed and remember previous highest timestamp to then add it to the next timestamps. If the functionality to get whether gpu is resumed is unavailable or doesn't work - we fallback to a check for a discontinuity in timestamps. For kgsl we always use fallback. Fixes renderstage timeline disappearing in AGI. Or you could avoid the issue altogether by preventing GPU from going to sleep by increasing auto suspend delay e.g.: echo 5000 > /sys/devices/platform/soc\@0/3d00000.gpu/power/autosuspend_delay_ms Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14391> | 1 年前 | |
turnip: rename tu_drm_get_timestamp into tu_device_get_gpu_timestamp It is not drm specific and will be implemented in kgsl. Change parameter to tu_device along the way. Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14391> | 1 年前 | |
tu: Fix linemode for tessellation with isolines Fixes: 542211676c5 ("turnip: enable VK_EXT_line_rasterization") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17190> (cherry picked from commit d45583808104de6b904bbb8f9a53732ea100788a) Conflicts: src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt CI file doesn't exist in 22.1, and has been deleted | 1 年前 | |
turnip: Plumb non-startup errors through the new vk_error helpers Also, change every vk_error to use the closest object instead of fetching all the way back to the instance. Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13045> | 1 年前 | |
tu: Treat CP_WAIT_FOR_ME as a cache invalidate The workaround for draws that need a CP_WAIT_FOR_ME didn't work if the barrier before the draw is in a separate command buffer from the draw. The barrier would add a pending CP_WAIT_FOR_ME, but it would get dropped on the floor at the end of the command buffer and the draw wouldn't have a pending CP_WAIT_FOR_ME so it wouldn't emit one. We don't know in the barrier if the destination is a draw with the workaround, so we have two options: - Emit any pending CP_WAIT_FOR_ME at the end of the command buffer (and before secondaries) in case there is a workaround draw later. This will emit an extra CP_WAIT_FOR_ME at the end of the command buffer in case there is an indirect command barrier. - Always assume at the beginning of the command buffer that there is a pending CP_WAIT_FOR_ME. This will emit an extra CP_WAIT_FOR_ME before the first workaround-requiring draw in the command buffer, in case there was a barrier earlier. The only draws requiring a workaround are currently vkCmdDraw*IndirectCount(), which we assume are rarer than indirect command barriers, so we implement the second option. This entails treating it as a cache invalidate. This fixes some upcoming dynamic rendering CTS tests that do vkCmdDrawIndirectCount() in a secondary but put the barrier for it in the primary. Fixes: 37939e9c546 ("turnip: Fix the lack of WFM before indirect draws") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378> (cherry picked from commit c5be4445004e4980a1897b904fc206b3d030c58f) | 1 年前 | |
turnip: Implement VK_EXT_primitives_generated_query Similar to pipeline statistics but done for a single counter. We use REG_A6XX_RBBM_PRIMCTR_7 to get generated primitives and not PRIMCTR_8 because PRIMCTR_7 counts pre-clipped prims while PRIMCTR_8 counts them after clipping. OpenGL spec for GL_PRIMITIVES_GENERATED says: "Subsequent rendering will increment the counter once for every vertex that is emitted from the geometry shader, or from the vertex shader if no geometry shader is present." Passes tests: dEQP-VK.transform_feedback.primitives_generated_query.* Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15746> | 1 年前 | |
turnip: fix assert for max xfb outputs this is a counter, not an index, so use <= cc: mesa-stable Reviewed-by: Hyunjun Ko <zzoon@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16620> (cherry picked from commit aa32b96c51ffea32e7be40b2a12a2c5bd8d307f0) | 1 年前 | |
turnip: Sub-allocate pipelines out of a device-global BO pool. Allocating a BO for each pipeline meant that for apps with many pipelines (such as Asphalt9 under ANGLE), we would end up spending too much time in the kernel tracking the BO references. Looking at CS:Source on zink, before we had 85 BOs for the pipelines for a total of 1036 kb, and now we have 7 BOs for a total of 896 kb. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15038> | 1 年前 | |
turnip/trace: Delete unused start/end_resolve tracepoints Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14391> | 1 年前 | |
turnip: Plumb non-startup errors through the new vk_error helpers Also, change every vk_error to use the closest object instead of fetching all the way back to the instance. Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13045> | 1 年前 | |
tu: Fix linemode for tessellation with isolines Fixes: 542211676c5 ("turnip: enable VK_EXT_line_rasterization") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17190> (cherry picked from commit d45583808104de6b904bbb8f9a53732ea100788a) Conflicts: src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt CI file doesn't exist in 22.1, and has been deleted | 1 年前 | |
turnip/trace: process u_trace chunks on queue submission tu_QueuePresentKHR was not the best place since application isn't required to call it. Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14391> | 1 年前 | |
vulkan: Move common format function to vulkan/util/vk_format.h Moving duplicate vk_format helper functions to common vulkan/util/vk_format.h and also renaming vk_format_get_component_size_in_bits to match how amd and freedreno name the same function. Not moving this function to common code as freedreno's implementation is a bit different. Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15696> | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 |