aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-10shader: No need to use "or" here, we can just assignGert Wollny
Fixes Coveritry ID: 1527219 Wrong operator used Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10shader: Drop useless gl_in parameterGert Wollny
The function is only called with gl_in = false, and the code used in the if path was the same like in to else path. Fixes Coverity ID: 1527220 "Identical code for different branches" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10shader: Fix off-by-one comparison when adding shader inputsGert Wollny
Fixes Coverity ID: 1527218 "Out-of-bounds write" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10strbuf: clean up va_list with va_endGert Wollny
Fixes Coverity ID: 1527229, 1527195 "Missing varargs init or cleanup" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10vrend: remove useless test for ctxGert Wollny
The context is always a valid non-NULL pointer. Related Coverity ID: 1527194 "Dereference before null check" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10vrend: Simplify shader selection logicGert Wollny
The num_shader paramater is superfluos, we can achieve the same without and actually remove one if-check. Related Coverity ID: 1527202 Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10vrend: Make sure there are no interger overflows in size calculationGert Wollny
Since the final value is uint64_t we can also make some intermediate value uint64_t so that multiliocations can't overflow. Fixes Coverity IDs: 1527232, 1527196,1527197 "Unintentional integer overflow" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10vrend: simplify set_scissor_state functionGert Wollny
That return in the middle of the function doesn't help here and makes the logic more difficult to understand. Related Coverity ID: 1527211 "Out-of-bounds write" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10vrend: free query memory if query type is not handledGert Wollny
In addition declare some variables at first use only. Fixes Coverity ID: 1527221 "Resource leak" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10gallium: Initialize all fields of tgsi_full_declaraionGert Wollny
Fixes Coverity ID: 1527224 "Uninitialized scalar variable" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-10mesa/util: Limit scoop of local variableGert Wollny
Otherwise reg2 could theoretically be accesses without initialization. Fixes Coverity ID: 1527231 "Uninitialized scalar variable" Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/975>
2022-11-09remove venus fuzzerYiwei Zhang
The existing venus fuzzer is fuzzing against the venus cmd decoder which has been hidden behind render server in production. By enabling render server config in venus fuzzer, it then starts fuzzing against submit_cmd in proxy_context, which ends up fuzzing the standard socket part and is not quite meaningful since the socket part is not sensitive to what the cmd content is. This change just disables venus fuzzer since we have settled down with process isolation. Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/974>
2022-11-07Uprev Mesa to 6a29cb2654ff059dcb59e3fcaa0bcc982656609dCollabora's Gfx CI Team
Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/970>
2022-11-07shader: Check has_gpu_shader5 flagAkihiko Odaki
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/971>
2022-11-07vrend: Enable use of external objects on AMDGPU hosts for gbm blob supportGert Wollny
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/968>
2022-11-01vrend: fix buffer overflow during sscanf of GLSL versionRyan Neph
There's no need to have a temp buffer (which can overflow) when we can explicitly ignore the preceding strings for gles hosts. Signed-off-by: Ryan Neph <ryanneph@google.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/972>
2022-10-27vkr: enable EXT_depth_clip_control and EXT_primitives_generated_queryYiwei Zhang
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/965>
2022-10-27vkr: sync to latest venus protocolYiwei Zhang
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/965>
2022-10-25vrend: Initialize GBM when using external EGLAntonio Caggiano
This is required if we want seamless resource sharing among various virgl contexts. Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/966>
2022-10-25vtest: add support for custom socket pathSimon Fels
By default vtest_server uses a hard coded socket path. In certain use cases it is helpful to locate the socket elsewhere. Closes: https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/256 Signed-off-by: Simon Fels <simon.fels@canonical.com> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/941>
2022-10-25video: Limit only the minimun length of the video command dataFeng Jiang
A loose check on the protocol can preserve some backward compatibility. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Avoid potential memory out-of-bounds in vrend_video_decode_bitstream()Feng Jiang
Memory out-of-bounds may occur if the structure of picture description on the driver side is different from the device side. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Add support for H.265 encodingFeng Jiang
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Signed-off-by: Weishi Li <liweishi@kylinos.cn> Signed-off-by: Liming Sun <sunliming@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Add support for H.264 encodingFeng Jiang
Implement encoding framework and support H.264 encoding. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Signed-off-by: Ming Xie <xieming@kylinos.cn> Signed-off-by: Liming Sun <sunliming@kylinos.cn> Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Add parameters "level" and "max_references" to virgl_video_codecBoyuan Zhang
"level" and "max_references" are 2 important values in sequence parameters, which will be used when encoding SPS headers. Signed-off-by: Boyuan Zhang <Boyuan.Zhang@amd.com> Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Import partial enums from p_video_state.h in mesaFeng Jiang
Base on mesa commit: a727ec83ba01776e9c6f61c912c4caac280e968e ('frontends/va: improve enc quality interface change') Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Always sync the surface in virgl_video_end_frame()Feng Jiang
Always call vaSyncSurface() in virgl_video_end_frame(), not just in decoding context. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Change the parameter 'cb' of virgl_video_init() to a structureFeng Jiang
For good scalability, and to prepare for encoding, change the parameter 'cb' of virgl_video_init() to a structure to accommodate more callback functions. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Reimplement the export and sync of virgl_video_dma_bufFeng Jiang
Reimplemented the export interface of virgl_video_dma_buf and the data synchronization interface between it and vrend_video_buffer. Make the code look cleaner. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Add opaque data to virgl_video_buffer and virgl_video_codecFeng Jiang
The original associated data mechanism is a bit redundant. By adding opaque data members to virgl_video_buffer and virgl_video_codec, the upper layer can be simplified. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25video: Move hardware-related definitions from virgl_video.h to virgl_video_hw.hFeng Jiang
Considering the increasing number of hardware-related definitions, it is better to put them in separate files. Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/940>
2022-10-25ci/venus: enable render server for venus testingCorentin Noël
Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/960>
2022-10-25shader: Explicit the origin and center variablesCorentin Noël
Rename fs_coord_origin and fs_pixel_center in fs_lower_left_origin and fs_integer_pixel_center. Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/947>
2022-10-25shader: Rename invert_origin to lower_left_originCorentin Noël
Improves clarity as it is now explicitely declaring what value it contains. Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/947>
2022-10-25renderer: Explicit the fbo content origin the the variable namesCorentin Noël
Allows to explicitely see the fbo content origin when reading the variable name. Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/947>
2022-10-25Uprev Mesa to b744e9703342960bb39cdaa09e3701e0e8059843Collabora's Gfx CI Team
Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/964>
2022-10-19shader: Handle the case when we have a OOB temp value accessGert Wollny
In this case add a dummy variable that is read from and written too. Closes: #290 v2: - Signal the use of a dummy value by using a return parameter, this makes it more obvious how the OOB access is actually dealt wit, but avoids to make ctx non-constant (inspired by Corentin's comments). - Initialize the dummy value, otherwise its use may trigger GLSL compiler warnings. - reformat a bit Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/951>
2022-10-17ci: Add venus to the CICorentin Noël
Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/957>
2022-10-14vrend: glColorMask updates all color masks, act accordinglyGert Wollny
When glColorMask is called, all color masks are updated to the given mask, so also update the masks stored in the state to have the value of the mask given for draw buffer 0. This fixes a state leak where color masks for independent blend would not be updated correctly in all cases. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/954>
2022-10-14vrend: Fix missing GL colorspace capability check using external EGL contextDmitry Osipenko
Qemu will pass EGL context to virglrenderer once it will support Venus. In this case the GL colorspace host capability isn't set and guest doesn't get a core GL profile because virglrenderer skips checking the external EGL context for the capability presence. Add the missing check. Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/953>
2022-10-13vrend: Specify memory caching type for llvmpipeDmitry Osipenko
All memory mappings produced by llvmpipe driver are CPU-cached, hence set the caching type appropriately. This change exposes persistent mapping support for the llvmpipe driver, bumping GL version in guest to 4.5 when host uses llvmpipe. Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/889>
2022-10-13ci: Uprev Mesa to the latest versionCorentin Noël
Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/950>
2022-10-13vkr: support VK_KHR_push_descriptorDawn Han
Signed-off-by: Dawn Han <dawnhan@google.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/946>
2022-10-12vkr: fix VK_KHR_synchronization2 dispatchesYiwei Zhang
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/952>
2022-10-10vkr: Enable VK_KHR_synchronization2Chad Versace
Signed-off-by: Chad Versace <chadversary@chromium.org> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/949>
2022-10-06shader: Fix emission of textureLOD with CubeArrayShadow samplersCorentin Noël
the comparison value is in a separate component as there is no room in the vec4 for this. Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/944>
2022-09-30vkr: enable VK_EXT_mutable_descriptor_typeDawn Han
Signed-off-by: Dawn Han <dawnhan@google.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/938>
2022-09-30vkr: support the promoted VK_EXT_mutable_descriptor_typeDawn Han
Signed-off-by: Dawn Han <dawnhan@google.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/938>
2022-09-30shader: Require `EXT_texture_shadow_lod` when dealing with sampler*ShadowCorentin Noël
This allows to define many missing texture*() functions. Also use the extension when available to allow shadow lookups with bias. Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/905>
2022-09-30renderer: Rename VIRGL_CAP_FAKE_FP64 into VIRGL_CAP_HOST_IS_GLESCorentin Noël
Allows to clearly show what this is really about and to reuse this CAP for other purposes. Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/905>