Can generate dots but can't ensure the result will be perfect circle shaped dots unless resampling the image to the same raster as the halftone pattern.
Like it's more evident on this image:
Notice how the bottom left edge of the apple cuts in half the halftone pattern.
Found this example
for a pixelate filter. Other examples also use the tile filter primitive which doesn't work at the moment.
(Once it will, then making seamless patterns will also be possible.)
Found this post
By Tavmjong mentioning it wasn't working in 2015. Maybe worth a bug report if there isn't one already. Developers are probably well avare of the problem.
tried to make one pixelate filter manually with no tile filter primitive with not much outcome.
Concept was to pull in a "mask" with the image filter primitive and composite in every third pixels of the filtered object,
then offsetting the result by 1 px in each direction to have 4 variants and compositing them atop eachother.
Repeat the process with 1 px offsetting of the pulled in image and average the four results into one.
"Sort of" works:
-except when the zoom level is not at 100%, rendering gap issues appear of anti-aliasing
The pulled in "mask" image cannot be a pattern filled object of poor rendering performance. As that pattern would be 2/2 px, it blacks out.
Therefore using two repeating gradient filled objects instead.
With the mentioned process a 1/1 px grid can be downsampled to 2/2 px.
For the 4/4, another mask is necessary on an already processed image and basically repeating the same steps.
Had gone 1 step forward than what's in the screenshot but there was a problem of offsetting somewhere and it is unmanageable to find and correct any errors.
One processing could also work, like, pulling in a mask image with a grid of 5/5 px, with only 1 px opaque out of the 25 and using that for compositing but it takes way more effort and is very error-prone.
Without the downsampling the same problem apply on the pulled in halftone pattern.
For the dots, a 1/1 px square with a radial gradient sqould be converted to a pattern fill, and such a small pattern just glitches.
Maybe if everything was scaled up many times...
Too many compromises, it doesn't fit with a working solution.