- 06 Jan, 2022 10 commits
-
-
Dylan Baker authored
We need to get the "internal" variable if we've built wayland-protocols as a subproject. Wayland-protocols already has al of the infrastructure in place for this, we just need to make use of it. This requires a bump to Meson 0.54, which we had discussed in the past but had no reason to move to. I have installed the .wrap file and checked it in. Due to upstream API changes in the wrapdb meson >= 0.59.0 is required to run `meson wrap install wayland-protocols`, which defeats much the value of being used as a wrap.
-
Dylan Baker authored
The latter is deprecated, and less flexible
-
Fixes: afff9dd0 ("radv: Use correct buffer size for query pool result copies.") Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!14422>
-
The vulkan common runtime code uses the drm functions directly. Fixes: 91fe0b56 ("radv: Delete lots of sync code.") Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!14375>
-
Fixes: 91fe0b56 ("radv: Delete lots of sync code.") Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!14375>
-
If a primitive is added with missing vertices, this will shift all the vertices and produce incorrect rendering. In issue #5786 the app uses GL_LINE_STRIPS with a single vertex. Adding extra vertices can make the initial estimation for the index buffer size incorrect, so this buffer can now be growed if needed. Fixes: ac3d4c76 ("vbo/dlist: convert LINE_STRIPS to LINES") Closes: mesa/mesa#5786 Acked-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!14243>
-
The original code incorrectly adjusted only when Loopback was false, while primitives' start value is actually modified unconditionnally. Fixes: 32535942 ("vbo/dlist: rework buffer sizes") Closes: mesa/mesa#5754 Acked-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!14243>
-
Pierre-Eric Pelloux-Prayer authored
dcc_fast_clear_size is assigned using addrlib's dccFastClearSize, which is computed using the whole surface size (including layers) so we don't need to multiply dcc_fast_clear_size by num_layers. Closes: mesa/mesa#4530 Cc: mesa-stable Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!14409>
-
Vinson Lee authored
Fix defect reported by Coverity Scan. Structurally dead code (UNREACHABLE) unreachable: This code cannot be reached: return val;. Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Reviewed-by:
Rob Clark <robclark@freedesktop.org> Part-of: <mesa/mesa!14350>
-
Jordan Justen authored
Signed-off-by:
Jordan Justen <jordan.l.justen@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!14385>
-
- 05 Jan, 2022 30 commits
-
-
Signed-off-by:
Guilherme Gallo <guilherme.gallo@collabora.com> Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!14146>
-
Start Xorg during skqp job, since it is needed to make rendered tests work. There are 1 new job, namely `a630_skqp` which runs GL and GLES backends and then the skqp GPU unittests. Closes: mesa/mesa#5580 Signed-off-by:
Guilherme Gallo <guilherme.gallo@collabora.com> Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!14146>
-
This commit makes `kernel+rootfs_arm64` job build and install skqp on ARM64 devices rootfs. Skia repository has a tool to prepare skqp models located at `tools/skqp/cut-release`, which get files from [Skia Gold](https://skia.org/docs/dev/testing/skiagold/), generate files.checksum, rendertests.txt and unittests.txt. One gives a range of commits to let `cut-release` find the right resources to prepare skqp for the user. However, it is failing, since it fails when trying to get image packages from a range of commits via HTTPS from the host https://public-gold.skia.org but it responds with error 404 every time. I tried a range a thousand of commits, yet it still does not give results. The workaround employed was to recover the most recent `files.checksum` and `rendertests.txt` files from the git history and generate `unittests.txt` from `list_gpu_unit_tests` binary. `skqp` runs two lists of tests, `rendertests.txt` and `unittests.txt`. Both must be located inside the `skqp` assets folder. The first list uses GL and GLES to test rendering scenarios. The second runs some unit tests that do not render an image per se. In order to make the first `a630_skqp` to be green, the crashing tests were removed from the test lists and the expectations of the failing ones were updated. It is worth noting that `rendertests.txt` can bring some detail about each test expectation, so each test can have a max pixel error count, to tell `skqp` that it is OK to have at most that number of errors for that test. See also: https://github.com/google/skia/blob/main/tools/skqp/README_ALGORITHM.md As each render backend has a different error count, two different `rendertests.txt` files were created, `src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt`, `src/freedreno/ci/freedreno-a630-skqp-gles_rendertests.txt` and , which one refers to GL and GLES tests respectfully. The unit tests file for a630 is located at `src/freedreno/ci/freedreno-a630-skqp_unittests.txt` ``` aaclip domain formats highcontrastfilter rectangle_texture yuv_make_color_space ``` ``` ProcessorOptimizationValidationTest VkProtectedContext_CreateNonprotectedContext VkYCbcrSampler_DrawImageWithYcbcrSampler VkYCbcrSampler_NoYcbcrSurface ``` Each test was updated with the max_error count equal to the first run result. ``` analytic_antialias_inverse async_rescale_and_read_dog_down async_rescale_and_read_dog_up async_rescale_and_read_rose async_rescale_and_read_text_down async_rescale_and_read_text_up async_rescale_and_read_text_up_large async_rescale_and_read_yuv420_rose complexclip2_path_bw encode-platform imageblur_large lcdtextsize onebadarc onefailarc scale-pixels surfaceprops textfilter_color textfilter_image ``` Considering all the following tests results as wrong. ``` async_rescale_and_read_no_bleed backdrop_imagefilter_croprect_persp complexclip2 imageblurrepeatmode mixerCF overdrawcolorfilter patch_alpha patch_primitive rrect_clip_bw scaledemoji_rendering yuv_splitter ``` v2: a) add link to HTML report on job log b) remove extraneous spaces diff c) remove unnecessary conditions from build-skqp.sh d) use fixed skqp source commit SHA v3: a) Use only main skia repository to fetch models and build skqp b) Use list_gpu_unit_tests binary to create a base unittests.txt file c) Remove crashing tests d) Set failing tests expectations for the first skqp run v4: a) Remove clang dependency b) Separate each skqp backend result into its folder c) Regroup a630_skqp in one job v5: a) Separate tests files per driver Closes: mesa/mesa#5580 Signed-off-by:
Guilherme Gallo <guilherme.gallo@collabora.com> Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!14146>
-
This is incorrect, it will calls the function recursively. It seems there is random build failures with common runtime code and MSVC but that's a different issue. Closes: #5815 Fixes: 46c59e8f ("radv: Remove dependencies on vk_common entrypoints.") Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <!14374>
-
It seems that at least some GC400 come out of reset with random vertex attributes enabled and also don't disable them on the write to the first config register as normal. Enabling all attributes seems to provide the GPU with the required edge to actually disable the unused attributes on the next draw. Cc: mesa-stable Reported-by: Steven Walter Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <mesa/mesa!14285>
-
In dEQP-GLES2.functional.shaders.operator.geometric.reflect.highp_vec2_fragment and friends this pass would turn: 0: DP3 temp[1].x, input[1].yx0_, input[0].wy0_; 1: MUL temp[2].xy, temp[1].xx__, const[0].xx__; into 0: DP3 temp[2].x * 2, input[1].yx0_, input[0].wy0_; 1: MUL temp[3].xy, temp[2].xy__, input[1].yx__; Note the attempt to use .y of temp[2]. Just bail when we more dst channels than src channels, since the rewrite can't generate more channels for us. Fixes this subset of tests (which I hadn't included in the xfails until now since results hadn't quite been stable). Cc: mesa-stable Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Tested-by:
Filip Gawin <filip.gawin@zoho.com> Part-of: <mesa/mesa!14405>
-
I can now run the whole thing instead of doing subsets, so update for that. Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!14405>
-
Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!14405>
-
This is an actual functional change as we now plumb through the sync FD instead of doing a vkQueueSubmit and trusting in implicit sync. Reviewed-by:
Eric Engestrom <eric@engestrom.ch> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Tested-by:
Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <!14372>
-
This is an actual functional change as we now plumb through the sync FD instead of doing a vkQueueSubmit and trusting in implicit sync. Reviewed-by:
Eric Engestrom <eric@engestrom.ch> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Tested-by:
Tapani Pälli <tapani.palli@intel.com> Part-of: <mesa/mesa!14372>
-
This is mostly a copy+paste job but with a few syntax changes to make it follow more closely with other common Vulkan code. Reviewed-by:
Eric Engestrom <eric@engestrom.ch> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Part-of: <!14372>
-
All three implementations are identical. Reviewed-by:
Eric Engestrom <eric@engestrom.ch> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Tested-by:
Tapani Pälli <tapani.palli@intel.com> Tested-by:
Roman Stratiienko <r.stratiienko@gmail.com> Part-of: <mesa/mesa!14372>
-
Sets the default motion estimation parameters for the H.264 encoder to values that increase encoding performance - realistically, this only benefits the VCE encoder, as the parameters are used no where else. Closes: #3540 Closes: #2702 Signed-off-by:
Thong Thai <thong.thai@amd.com> Reviewed-by:
Leo Liu <leo.liu@amd.com> Part-of: <!14339>
-
It would seems msvc and mingw dont pack across disparate types so zink_bind_rasterizer_state is too big for int32 string.h:202:10: warning: ‘__builtin___memcpy_chk’ forming offset [4, 7] is out of the bounds [0, 4] of object ‘rast_bits’ with type ‘uint32_t’ {aka ‘unsigned int’} [-Warray-bounds] 202 | return __builtin___memcpy_chk(__dst, __src, __n, __mingw_bos(__dst, 0)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/gallium/drivers/zink/zink_state.c: In function ‘zink_bind_rasterizer_state’: ../src/gallium/drivers/zink/zink_state.c:586:16: note: ‘rast_bits’ declared here Fixes: 9c5a2ab6 Acked-By:
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!12609>
-
Part-of: <mesa/mesa!14266>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
radv isn't going to use it because it's for the TCS epilog Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
This will allow further optimizations for shader variants that change GS outputs (affecting the copy shader), and this is mainly about sharing optimizations with NGG instead of having a totally separate codepath for legacy GS. Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
to match si_shader_info. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
It's the same. Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
because loop unrolling caused by uniform inlining can eliminate large constants and indirect derefs. Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
The samplemask VGPR that we had to pass to the epilog increased VGPR usage by 1 for all shaders. Do it in the main function by using the mono key structure, which causes on-demand compilation and stall, but we'll save the VGPR. 57794 shaders in 35145 tests Totals: SGPRS: 2715856 -> 2716272 (0.02 %) VGPRS: 1776168 -> 1718432 (-3.25 %) Spilled SGPRs: 3704 -> 3630 (-2.00 %) Spilled VGPRs: 1727 -> 1733 (0.35 %) Private memory VGPRs: 256 -> 256 (0.00 %) Scratch size: 2008 -> 2016 (0.40 %) dwords per thread Code Size: 61429584 -> 61393288 (-0.06 %) bytes Max Waves: 838645 -> 840484 (0.22 %) Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
The code was correct, but little confusing. This is cleaner. Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
This became unused when the GS prolog was removed. Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
The other shader is changed to modify the descriptor to get the required values. Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
GFX10_GS_QUERY_BUF is also renamed. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!14266>
-