Re: [PATCH xserver 3/3] render: Fix default picture format initialization
Adam Jacksonwrites: > What would this mean? If I point this picture at a depth-30 pixmap, is > the intent really "draw into this as though it was x8r8g8b8"? Is there > a world where that's useful? I agree that it probably isn't useful, but we need to be careful with the condition to not exclude *useful* formats, like r8g8b8 on depth 32, or r5g5b5 on depth 16. Of course, the real fear is deleting a format that an existing app is relying on... > All the 16bpp formats say they have "depth 16", regardless of a/x. I think that's because you don't have a depth 15 visual. -- -keith signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 3/3] render: Fix default picture format initialization
Michel Dänzerwrites: > On 2018-02-22 10:53 PM, Adam Jackson wrote: >> "depth" for a picture format is the sum of bits of a/r/g/b, and not x. >> The default format list was creating an x8r8g8b8 format at depth 32, >> which is wrong. Likewise, servers supporting depth 30 would get an >> x8r8g8b8 format at depth 30, which is nonsense. > > Actually, the former isn't wrong, and the latter might not be either, I > think. These are the constraints: > > * The sizes of a/x+r+g+b must equal bpp > * The sizes of a+r+g+b must be <= depth (or == ?) We could make it ==, but we currently make it <= so that you can have r8g8b8 on depth 32, and r4g4b4 on depth 15 and 16. -- -keith signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 3/3] render: Fix default picture format initialization
Adam Jacksonwrites: > This is at the bottom of fbPictureInit. This is code that every driver > already runs. The loop will find that a pixmap of depth 16 has 16 bits > per pixel, and since that's larger than 12, it will add x4r4g4b4. But, a pixmap of depth 15 or 16 cannot support r5g6b5 formats, and that's what the tests do -- eliminate offering formats which require more bits than the depth of the drawable. > You might be right that we _should not_ expose formats not present in > the hardware, though Render has kinda already lost that fight by making > a1 and a4 mandatory. But the Render code today, and forever, is making > the assertion that the code above it _will_ handle these formats. We just need to make sure we don't promise to store bits beyond the depth of the drawable. -- -keith signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 1/2] render: Store all 16bpc of precision for solid pictures
Adam Jacksonwrites: > Signed-off-by: Adam Jackson Reviewed-by: Keith Packard -- -keith signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 2/2] render: Simplify miCompositeRects
Adam Jacksonwrites: > Make a solid-fill picture for this instead of a 1x1 pixmap. In principle > the backend can accelerate this directly, and we also get to preserve > all the bits of the fill color. > > Signed-off-by: Adam Jackson Reviewed-by: Keith Packard -- -keith signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH xserver 2/2] render: Simplify miCompositeRects
Make a solid-fill picture for this instead of a 1x1 pixmap. In principle the backend can accelerate this directly, and we also get to preserve all the bits of the fill color. Signed-off-by: Adam Jackson--- render/mirect.c | 63 + 1 file changed, 9 insertions(+), 54 deletions(-) diff --git a/render/mirect.c b/render/mirect.c index a36d1d6e3..65f8d5efd 100644 --- a/render/mirect.c +++ b/render/mirect.c @@ -91,8 +91,6 @@ miCompositeRects(CARD8 op, PicturePtr pDst, xRenderColor * color, int nRect, xRectangle *rects) { -ScreenPtr pScreen = pDst->pDrawable->pScreen; - if (color->alpha == 0x) { if (op == PictOpOver) op = PictOpSrc; @@ -108,61 +106,18 @@ miCompositeRects(CARD8 op, pDst->alphaOrigin.x, pDst->alphaOrigin.y); } else { -PictFormatPtr rgbaFormat; -PixmapPtr pPixmap; -PicturePtr pSrc; -xRectangle one; int error; -Pixel pixel; -GCPtr pGC; -ChangeGCVal gcvals[2]; -XID tmpval[1]; +PicturePtr pSrc = CreateSolidPicture(0, color, ); -rgbaFormat = PictureMatchFormat(pScreen, 32, PICT_a8r8g8b8); -if (!rgbaFormat) -goto bail1; +if (pSrc) { +while (nRect--) { +CompositePicture(op, pSrc, 0, pDst, 0, 0, 0, 0, + rects->x, rects->y, + rects->width, rects->height); +rects++; +} -pPixmap = (*pScreen->CreatePixmap) (pScreen, 1, 1, rgbaFormat->depth, -CREATE_PIXMAP_USAGE_SCRATCH); -if (!pPixmap) -goto bail2; - -miRenderColorToPixel(rgbaFormat, color, ); - -pGC = GetScratchGC(rgbaFormat->depth, pScreen); -if (!pGC) -goto bail3; -gcvals[0].val = GXcopy; -gcvals[1].val = pixel; - -ChangeGC(NullClient, pGC, GCFunction | GCForeground, gcvals); -ValidateGC(>drawable, pGC); -one.x = 0; -one.y = 0; -one.width = 1; -one.height = 1; -(*pGC->ops->PolyFillRect) (>drawable, pGC, 1, ); - -tmpval[0] = xTrue; -pSrc = CreatePicture(0, >drawable, rgbaFormat, - CPRepeat, tmpval, serverClient, ); - -if (!pSrc) -goto bail4; - -while (nRect--) { -CompositePicture(op, pSrc, 0, pDst, 0, 0, 0, 0, - rects->x, rects->y, rects->width, rects->height); -rects++; +FreePicture((void *) pSrc, 0); } - -FreePicture((void *) pSrc, 0); - bail4: -FreeScratchGC(pGC); - bail3: -(*pScreen->DestroyPixmap) (pPixmap); - bail2: - bail1: -; } } -- 2.14.3 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH xserver 0/2] Minor Render cleanups
Some more little things found while testing the depth 30 series. Sadly neither one fixes the rendercheck issues, but neither do they break anything, and the result is definitely simpler. exa/exa_render.c| 4 +++- fb/fbpict.c | 16 +++-- glamor/glamor_program.c | 7 +++--- glamor/glamor_render.c | 14 --- glamor/glamor_utils.h | 9 +++ render/mirect.c | 63 +++-- render/picture.c| 10 +--- render/picturestr.h | 2 +- 8 files changed, 34 insertions(+), 91 deletions(-) - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH xserver 1/2] render: Store all 16bpc of precision for solid pictures
Signed-off-by: Adam Jackson--- exa/exa_render.c| 4 +++- fb/fbpict.c | 16 +++- glamor/glamor_program.c | 7 --- glamor/glamor_render.c | 14 -- glamor/glamor_utils.h | 9 + render/picture.c| 10 +- render/picturestr.h | 2 +- 7 files changed, 25 insertions(+), 37 deletions(-) diff --git a/exa/exa_render.c b/exa/exa_render.c index b24bec052..2dad795f2 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -291,7 +291,9 @@ exaTryDriverSolidFill(PicturePtr pSrc, pixel = exaGetPixmapFirstPixel(pSrcPix); } else -pixel = pSrc->pSourcePict->solidFill.color; +miRenderColorToPixel(pSrc->pFormat, + >pSourcePict->solidFill.color, + ); if (!exaGetRGBAFromPixel(pixel, , , , , pSrc->pFormat, pSrc->format) || diff --git a/fb/fbpict.c b/fb/fbpict.c index 7ea0b668f..759f0d5db 100644 --- a/fb/fbpict.c +++ b/fb/fbpict.c @@ -220,20 +220,10 @@ static pixman_image_t * create_solid_fill_image(PicturePtr pict) { PictSolidFill *solid = >pSourcePict->solidFill; -pixman_color_t color; -CARD32 a, r, g, b; +/* pixman_color_t and xRenderColor have the same layout */ +pixman_color_t *color = (pixman_color_t *)>color; -a = (solid->color & 0xff00) >> 24; -r = (solid->color & 0x00ff) >> 16; -g = (solid->color & 0xff00) >> 8; -b = (solid->color & 0x00ff) >> 0; - -color.alpha = (a << 8) | a; -color.red = (r << 8) | r; -color.green = (g << 8) | g; -color.blue = (b << 8) | b; - -return pixman_image_create_solid_fill(); +return pixman_image_create_solid_fill(color); } static pixman_image_t * diff --git a/glamor/glamor_program.c b/glamor/glamor_program.c index 23c102bc3..29ffed05c 100644 --- a/glamor/glamor_program.c +++ b/glamor/glamor_program.c @@ -508,12 +508,13 @@ glamor_set_blend(CARD8 op, glamor_program_alpha alpha, PicturePtr dst) static Bool use_source_solid(CARD8 op, PicturePtr src, PicturePtr dst, glamor_program *prog) { +PictSolidFill *solid = >pSourcePict->solidFill; +float color[4]; +glamor_get_rgba_from_color(>color, color); glamor_set_blend(op, prog->alpha, dst); +glUniform4fv(prog->fg_uniform, 1, color); -glamor_set_color_depth(dst->pDrawable->pScreen, 32, - src->pSourcePict->solidFill.color, - prog->fg_uniform); return TRUE; } diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c index 7a96c82dd..75f4258d8 100644 --- a/glamor/glamor_render.c +++ b/glamor/glamor_render.c @@ -830,11 +830,8 @@ glamor_composite_choose_shader(CARD8 op, else if (!source->pDrawable) { if (source->pSourcePict->type == SourcePictTypeSolidFill) { key.source = SHADER_SOURCE_SOLID; -glamor_get_rgba_from_pixel(source->pSourcePict->solidFill.color, - _solid_color[0], - _solid_color[1], - _solid_color[2], - _solid_color[3], PICT_a8r8g8b8); +glamor_get_rgba_from_color(>pSourcePict->solidFill.color, + source_solid_color); } else goto fail; @@ -850,11 +847,8 @@ glamor_composite_choose_shader(CARD8 op, if (!mask->pDrawable) { if (mask->pSourcePict->type == SourcePictTypeSolidFill) { key.mask = SHADER_MASK_SOLID; -glamor_get_rgba_from_pixel -(mask->pSourcePict->solidFill.color, - _solid_color[0], - _solid_color[1], - _solid_color[2], _solid_color[3], PICT_a8r8g8b8); +glamor_get_rgba_from_color(>pSourcePict->solidFill.color, + mask_solid_color); } else goto fail; diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h index 7597b92dc..d4f995ab9 100644 --- a/glamor/glamor_utils.h +++ b/glamor/glamor_utils.h @@ -710,6 +710,15 @@ glamor_get_rgba_from_pixel(CARD32 pixel, return TRUE; } +static inline void +glamor_get_rgba_from_color(const xRenderColor *color, float rgba[4]) +{ +rgba[0] = color->red / (float)UINT16_MAX; +rgba[1] = color->green / (float)UINT16_MAX; +rgba[2] = color->blue / (float)UINT16_MAX; +rgba[3] = color->alpha / (float)UINT16_MAX; +} + inline static Bool glamor_is_large_pixmap(PixmapPtr pixmap) { diff --git a/render/picture.c b/render/picture.c index 9e4036e7d..9907e15d6 100644 --- a/render/picture.c +++ b/render/picture.c @@ -817,14 +817,6 @@ CreatePicture(Picture pid, return pPicture; } -static CARD32 -xRenderColorToCard32(xRenderColor c) -{ -return -(c.alpha >> 8 << 24) | -
Re: [PATCH xserver 7/7] modesetting: Allow a DRM fd to be passed through XF86_VIDEO_MODESETTING_FD
Eric Anholtwrites: > Any security concerns with a suid xserver here? Not that I know of, but it's probably only a matter of someone smarter than me looking? I think what I want is a command line option that is disabled when the server is setuid (or, frankly, run as root at all?). This is purely a hack to show the xlease program working and test KMS and X leases without needing Mesa changes. I'll rewrite this as a command line option, which presumably involves adding an option to the general xfree86 set. -- -keith signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver] composite: Fix use-after-free in compReparentWindow
On Thu, 2018-02-22 at 22:25 -0800, Keith Packard wrote: > Peter Harriswrites: > > > If an implicitly redirected window is unredirected by the reparent > > operation, cw will be a stale pointer. > > > > Signed-off-by: Peter Harris > > Reviewed-by: Keith Packard Merged, thanks: remote: I: patch #206353 updated using rev efd84bff238f8e12bf652525990d36baada8785b. remote: I: 1 patch(es) updated to state Accepted. To ssh://git.freedesktop.org/git/xorg/xserver ac13d740bf..efd84bff23 master -> master - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 3/3] render: Fix default picture format initialization
On Thu, 2018-02-22 at 16:52 -0800, Keith Packard wrote: > > switch (bpp) { > > case 16: > > /* depth 12 formats */ > > -if (pDepth->depth >= 12) { > > -addFormat(formats, , PICT_x4r4g4b4, > > pDepth->depth); > > -addFormat(formats, , PICT_x4b4g4r4, > > pDepth->depth); > > -} > > +addFormat(formats, , PICT_x4r4g4b4, 12); > > +addFormat(formats, , PICT_x4b4g4r4, 12); > > /* depth 15 formats */ > > -if (pDepth->depth >= 15) { > > -addFormat(formats, , PICT_x1r5g5b5, > > pDepth->depth); > > -addFormat(formats, , PICT_x1b5g5r5, > > pDepth->depth); > > -} > > +addFormat(formats, , PICT_x1r5g5b5, 15); > > +addFormat(formats, , PICT_x1b5g5r5, 15); > > /* depth 16 formats */ > > -if (pDepth->depth >= 16) { > > -addFormat(formats, , PICT_a1r5g5b5, > > pDepth->depth); > > -addFormat(formats, , PICT_a1b5g5r5, > > pDepth->depth); > > -addFormat(formats, , PICT_r5g6b5, pDepth->depth); > > -addFormat(formats, , PICT_b5g6r5, pDepth->depth); > > -addFormat(formats, , PICT_a4r4g4b4, > > pDepth->depth); > > -addFormat(formats, , PICT_a4b4g4r4, > > pDepth->depth); > > -} > > +addFormat(formats, , PICT_a1r5g5b5, 16); > > +addFormat(formats, , PICT_a1b5g5r5, 16); > > +addFormat(formats, , PICT_r5g6b5, 16); > > +addFormat(formats, , PICT_b5g6r5, 16); > > +addFormat(formats, , PICT_a4r4g4b4, 16); > > +addFormat(formats, , PICT_a4b4g4r4, 16); > > You can't just blindly add formats that the driver might not > support. Depth really means the bits supported by the driver; bits > outside of depth may not be present in the hardware. This is at the bottom of fbPictureInit. This is code that every driver already runs. The loop will find that a pixmap of depth 16 has 16 bits per pixel, and since that's larger than 12, it will add x4r4g4b4. You might be right that we _should not_ expose formats not present in the hardware, though Render has kinda already lost that fight by making a1 and a4 mandatory. But the Render code today, and forever, is making the assertion that the code above it _will_ handle these formats. - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 3/3] render: Fix default picture format initialization
On Fri, 2018-02-23 at 10:51 +0100, Michel Dänzer wrote: > On 2018-02-22 10:53 PM, Adam Jackson wrote: > > "depth" for a picture format is the sum of bits of a/r/g/b, and not x. > > The default format list was creating an x8r8g8b8 format at depth 32, > > which is wrong. Likewise, servers supporting depth 30 would get an > > x8r8g8b8 format at depth 30, which is nonsense. > > Actually, the former isn't wrong, and the latter might not be either, I > think. These are the constraints: > > * The sizes of a/x+r+g+b must equal bpp > * The sizes of a+r+g+b must be <= depth (or == ?) Okay, let's make this concrete. Xvfb at depth 30 gives me these formats: pict format: format id:0x2b type: Direct depth:30 alpha: 0 mask 0x0 red: 16 mask 0xff green: 8 mask 0xff blue: 0 mask 0xff pict format: format id:0x2c type: Direct depth:30 alpha: 0 mask 0x0 red: 0 mask 0xff green: 8 mask 0xff blue: 16 mask 0xff What would this mean? If I point this picture at a depth-30 pixmap, is the intent really "draw into this as though it was x8r8g8b8"? Is there a world where that's useful? All the 16bpp formats say they have "depth 16", regardless of a/x. - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 7/7] modesetting: Allow a DRM fd to be passed through XF86_VIDEO_MODESETTING_FD
Keith Packardwrites: > This lets an application open a suitable DRM device and pass the file > descriptor to the mode setting driver through an environment variable. > > There's a companion application, xlease, which creates a DRM master by > leasing an output from another X server. That is available at > > git clone git://people.freedesktop.org/~keithp/xlease > > Signed-off-by: Keith Packard > --- > hw/xfree86/drivers/modesetting/driver.c | 29 - > hw/xfree86/drivers/modesetting/driver.h | 1 + > 2 files changed, 29 insertions(+), 1 deletion(-) > > diff --git a/hw/xfree86/drivers/modesetting/driver.c > b/hw/xfree86/drivers/modesetting/driver.c > index 577559ea6..074872e97 100644 > --- a/hw/xfree86/drivers/modesetting/driver.c > +++ b/hw/xfree86/drivers/modesetting/driver.c > @@ -194,11 +194,28 @@ modesettingEntPtr ms_ent_priv(ScrnInfoPtr scrn) > return pPriv->ptr; > } > > +static int > +get_passed_fd(void) > +{ > +char *fdstr = getenv("XF86_VIDEO_MODESETTING_FD"); Any security concerns with a suid xserver here? signature.asc Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH util/modular] release.sh: Add support for mesa-demos
2018-02-23 13:02 GMT+01:00 Emil Velikov: > On 23 February 2018 at 09:40, Andreas Boll wrote: >> Signed-off-by: Andreas Boll >> --- >> release.sh | 34 ++ >> 1 file changed, 22 insertions(+), 12 deletions(-) >> >> diff --git a/release.sh b/release.sh >> index ff89d2e..2045197 100755 >> --- a/release.sh >> +++ b/release.sh >> @@ -264,8 +264,10 @@ get_section() { >> if [ $? -ne 0 ]; then >> echo "Error: unable to extract section from $module_url second >> field." >> return 1 >> - elif [ x"$section" != xdrm ] && [ x"$section" != xmesa ]; then >> - echo "Error: section $section is not supported, only libdrm and >> mesa are." >> + elif [ x"$section" != xdrm ] && >> +[ x"$section" != xmesa ] && >> +[ x"$section" != xdemos ]; then >> + echo "Error: section $section is not supported, only libdrm, >> mesa and demos are." >> return 1 >> fi >> fi >> @@ -582,7 +584,8 @@ process_module() { >> section_path=libdrm >> srv_path="/srv/$host_current/www/$section_path" >> list_cc=$list_dri_devel >> -elif [ x"$section" = xmesa ]; then >> +elif [ x"$section" = xmesa ] || >> + [ x"$section" = xdemos ]; then >> host_current=$host_mesa >> mesa_version=`echo $pkg_version | sed 's:-rc.*::'` >> section_path=archive >> @@ -590,16 +593,23 @@ process_module() { >> list_to=$list_mesa_announce >> list_cc=$list_mesa_devel >> >> -# Prior to 17.0.x Mesa uses separate folder for each release >> -if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then >> -section_path=$section_path/$mesa_version >> +if [ x"$section" = xdemos ]; then >> +section_path=$section_path/$section >> srv_path="/srv/$host_current/www/$section_path" > Let's keep demos as a separate if statement. As-is it gets a bit fiddly to > read. Ack > >> -echo "Info: creating mesa directory on web server:" >> -ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null >> -if [ $? -ne 0 ]; then >> -echo "Error: cannot create the path \"$srv_path\" on the >> web server." >> -cd $top_src >> -return 1 >> +fi >> + >> +# Prior to 17.0.x Mesa uses separate folder for each release >> +if [ x"$section" = xmesa ]; then >> +if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then >> +section_path=$section_path/$mesa_version >> +srv_path="/srv/$host_current/www/$section_path" >> +echo "Info: creating mesa directory on web server:" >> +ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null >> +if [ $? -ne 0 ]; then >> +echo "Error: cannot create the path \"$srv_path\" on >> the web server." >> +cd $top_src >> +return 1 >> +fi > Pretty sure this section can go now. I'll send a patch in a second. Yep > > -Emil Sent an even shorter v2 patch. Thanks, Andreas ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH util-modular] release.sh: remove workaround for early Mesa versions
Reviewed-by: Andreas Boll2018-02-23 13:56 GMT+01:00 Emil Velikov : > From: Emil Velikov > > Signed-off-by: Emil Velikov > --- > release.sh | 14 -- > 1 file changed, 14 deletions(-) > > diff --git a/release.sh b/release.sh > index ff89d2e..99bd0c3 100755 > --- a/release.sh > +++ b/release.sh > @@ -584,24 +584,10 @@ process_module() { > list_cc=$list_dri_devel > elif [ x"$section" = xmesa ]; then > host_current=$host_mesa > -mesa_version=`echo $pkg_version | sed 's:-rc.*::'` > section_path=archive > srv_path="/srv/$host_current/www/$section_path" > list_to=$list_mesa_announce > list_cc=$list_mesa_devel > - > -# Prior to 17.0.x Mesa uses separate folder for each release > -if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then > -section_path=$section_path/$mesa_version > -srv_path="/srv/$host_current/www/$section_path" > -echo "Info: creating mesa directory on web server:" > -ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null > -if [ $? -ne 0 ]; then > -echo "Error: cannot create the path \"$srv_path\" on the web > server." > -cd $top_src > -return 1 > -fi > -fi > fi > > # Module xkeyboard-config goes in a subdir of the xorg "data" section > -- > 2.16.0 > > ___ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH util/modular v2] release.sh: Add support for mesa-demos
v2: Rebase on Mesa cleanup. Move demos into its own elif statement. Signed-off-by: Andreas Boll--- Rebased on https://patchwork.freedesktop.org/patch/206466/ release.sh | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/release.sh b/release.sh index 99bd0c3..b2071b6 100755 --- a/release.sh +++ b/release.sh @@ -264,8 +264,10 @@ get_section() { if [ $? -ne 0 ]; then echo "Error: unable to extract section from $module_url second field." return 1 - elif [ x"$section" != xdrm ] && [ x"$section" != xmesa ]; then - echo "Error: section $section is not supported, only libdrm and mesa are." + elif [ x"$section" != xdrm ] && +[ x"$section" != xmesa ] && +[ x"$section" != xdemos ]; then + echo "Error: section $section is not supported, only libdrm, mesa and demos are." return 1 fi fi @@ -588,6 +590,12 @@ process_module() { srv_path="/srv/$host_current/www/$section_path" list_to=$list_mesa_announce list_cc=$list_mesa_devel +elif [ x"$section" = xdemos ]; then +host_current=$host_mesa +section_path=archive/$section +srv_path="/srv/$host_current/www/$section_path" +list_to=$list_mesa_announce +list_cc=$list_mesa_devel fi # Module xkeyboard-config goes in a subdir of the xorg "data" section -- 2.11.0 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH util-modular] release.sh: remove workaround for early Mesa versions
From: Emil VelikovSigned-off-by: Emil Velikov --- release.sh | 14 -- 1 file changed, 14 deletions(-) diff --git a/release.sh b/release.sh index ff89d2e..99bd0c3 100755 --- a/release.sh +++ b/release.sh @@ -584,24 +584,10 @@ process_module() { list_cc=$list_dri_devel elif [ x"$section" = xmesa ]; then host_current=$host_mesa -mesa_version=`echo $pkg_version | sed 's:-rc.*::'` section_path=archive srv_path="/srv/$host_current/www/$section_path" list_to=$list_mesa_announce list_cc=$list_mesa_devel - -# Prior to 17.0.x Mesa uses separate folder for each release -if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then -section_path=$section_path/$mesa_version -srv_path="/srv/$host_current/www/$section_path" -echo "Info: creating mesa directory on web server:" -ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null -if [ $? -ne 0 ]; then -echo "Error: cannot create the path \"$srv_path\" on the web server." -cd $top_src -return 1 -fi -fi fi # Module xkeyboard-config goes in a subdir of the xorg "data" section -- 2.16.0 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH util/modular] release.sh: Add support for mesa-demos
On 23 February 2018 at 09:40, Andreas Bollwrote: > Signed-off-by: Andreas Boll > --- > release.sh | 34 ++ > 1 file changed, 22 insertions(+), 12 deletions(-) > > diff --git a/release.sh b/release.sh > index ff89d2e..2045197 100755 > --- a/release.sh > +++ b/release.sh > @@ -264,8 +264,10 @@ get_section() { > if [ $? -ne 0 ]; then > echo "Error: unable to extract section from $module_url second > field." > return 1 > - elif [ x"$section" != xdrm ] && [ x"$section" != xmesa ]; then > - echo "Error: section $section is not supported, only libdrm and > mesa are." > + elif [ x"$section" != xdrm ] && > +[ x"$section" != xmesa ] && > +[ x"$section" != xdemos ]; then > + echo "Error: section $section is not supported, only libdrm, mesa > and demos are." > return 1 > fi > fi > @@ -582,7 +584,8 @@ process_module() { > section_path=libdrm > srv_path="/srv/$host_current/www/$section_path" > list_cc=$list_dri_devel > -elif [ x"$section" = xmesa ]; then > +elif [ x"$section" = xmesa ] || > + [ x"$section" = xdemos ]; then > host_current=$host_mesa > mesa_version=`echo $pkg_version | sed 's:-rc.*::'` > section_path=archive > @@ -590,16 +593,23 @@ process_module() { > list_to=$list_mesa_announce > list_cc=$list_mesa_devel > > -# Prior to 17.0.x Mesa uses separate folder for each release > -if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then > -section_path=$section_path/$mesa_version > +if [ x"$section" = xdemos ]; then > +section_path=$section_path/$section > srv_path="/srv/$host_current/www/$section_path" Let's keep demos as a separate if statement. As-is it gets a bit fiddly to read. > -echo "Info: creating mesa directory on web server:" > -ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null > -if [ $? -ne 0 ]; then > -echo "Error: cannot create the path \"$srv_path\" on the web > server." > -cd $top_src > -return 1 > +fi > + > +# Prior to 17.0.x Mesa uses separate folder for each release > +if [ x"$section" = xmesa ]; then > +if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then > +section_path=$section_path/$mesa_version > +srv_path="/srv/$host_current/www/$section_path" > +echo "Info: creating mesa directory on web server:" > +ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null > +if [ $? -ne 0 ]; then > +echo "Error: cannot create the path \"$srv_path\" on the > web server." > +cd $top_src > +return 1 > +fi Pretty sure this section can go now. I'll send a patch in a second. -Emil ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver 3/3] render: Fix default picture format initialization
On 2018-02-22 10:53 PM, Adam Jackson wrote: > "depth" for a picture format is the sum of bits of a/r/g/b, and not x. > The default format list was creating an x8r8g8b8 format at depth 32, > which is wrong. Likewise, servers supporting depth 30 would get an > x8r8g8b8 format at depth 30, which is nonsense. Actually, the former isn't wrong, and the latter might not be either, I think. These are the constraints: * The sizes of a/x+r+g+b must equal bpp * The sizes of a+r+g+b must be <= depth (or == ?) -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH util/modular] release.sh: Add support for mesa-demos
Signed-off-by: Andreas Boll--- release.sh | 34 ++ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/release.sh b/release.sh index ff89d2e..2045197 100755 --- a/release.sh +++ b/release.sh @@ -264,8 +264,10 @@ get_section() { if [ $? -ne 0 ]; then echo "Error: unable to extract section from $module_url second field." return 1 - elif [ x"$section" != xdrm ] && [ x"$section" != xmesa ]; then - echo "Error: section $section is not supported, only libdrm and mesa are." + elif [ x"$section" != xdrm ] && +[ x"$section" != xmesa ] && +[ x"$section" != xdemos ]; then + echo "Error: section $section is not supported, only libdrm, mesa and demos are." return 1 fi fi @@ -582,7 +584,8 @@ process_module() { section_path=libdrm srv_path="/srv/$host_current/www/$section_path" list_cc=$list_dri_devel -elif [ x"$section" = xmesa ]; then +elif [ x"$section" = xmesa ] || + [ x"$section" = xdemos ]; then host_current=$host_mesa mesa_version=`echo $pkg_version | sed 's:-rc.*::'` section_path=archive @@ -590,16 +593,23 @@ process_module() { list_to=$list_mesa_announce list_cc=$list_mesa_devel -# Prior to 17.0.x Mesa uses separate folder for each release -if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then -section_path=$section_path/$mesa_version +if [ x"$section" = xdemos ]; then +section_path=$section_path/$section srv_path="/srv/$host_current/www/$section_path" -echo "Info: creating mesa directory on web server:" -ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null -if [ $? -ne 0 ]; then -echo "Error: cannot create the path \"$srv_path\" on the web server." -cd $top_src -return 1 +fi + +# Prior to 17.0.x Mesa uses separate folder for each release +if [ x"$section" = xmesa ]; then +if test `echo $mesa_version | cut -d'.' -f1` -lt 17; then +section_path=$section_path/$mesa_version +srv_path="/srv/$host_current/www/$section_path" +echo "Info: creating mesa directory on web server:" +ssh $USER_NAME$hostname mkdir -p $srv_path &>/dev/null +if [ $? -ne 0 ]; then +echo "Error: cannot create the path \"$srv_path\" on the web server." +cd $top_src +return 1 +fi fi fi fi -- 2.16.1 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel