Bug 12385 - [845] i915 work with beryl only at 16bpp
Summary: [845] i915 work with beryl only at 16bpp
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915 (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
Keywords: NEEDINFO
Depends on:
Reported: 2007-09-10 21:58 UTC by Andrew Randrianasulu
Modified: 2009-08-19 09:01 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

xorg.log with 24 bpp screen depth (56.88 KB, text/plain)
2007-09-10 22:00 UTC, Andrew Randrianasulu
xorg.conf (5.42 KB, text/plain)
2007-09-10 22:02 UTC, Andrew Randrianasulu
xserver patch (502 bytes, patch)
2007-10-01 03:16 UTC, Michel Dänzer
Details | Splinter Review
xf86-video-intel patch (578 bytes, patch)
2007-10-01 03:17 UTC, Michel Dänzer
Details | Splinter Review

Description Andrew Randrianasulu 2007-09-10 21:58:49 UTC
Today I've tried new SetTexOffset hook. (X server 1.4 + self-compiled xf86-video-intel from Aug, 16 2007 + self-compiled mesa from 4 Sept 2007).
Linux kernel
Drm from git, up to commit 06bb07259531d10df2c1979919af899e3812057b

My hardware is:

00:02.0 VGA compatible controller: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (rev 01) (prog-if 00 [VGA])
        Subsystem: Micro-Star International Co., Ltd. Unknown device 5808
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at d0000000 (32-bit, prefetchable) [size=128M]
        Memory at dff80000 (32-bit, non-prefetchable) [size=512K]
        Capabilities: [d0] Power Management version 1

beryl - 0.2.1 It works fine with 16 bpp screen depth. But display nothing in 24 bpp mode. And i forced to reboot my machine via ACPI poweroff.

Probably this is related to this comment, found in i830_render.c

 I830FALLBACK("830/845G don't support a8, x8r8g8b8, x8b8g8r8\n"); 
(in src/mesa/drivers/dri/i915tex/i830_texstate.c I can see lines like this:

if (intelObj->imageOverride) {
      i830->state.tex_buffer[unit] = NULL;
      i830->state.tex_offset[unit] = intelObj->textureOffset;

      switch (intelObj->depthOverride) {
      case 32:
         format = MAPSURF_32BIT | MT_32BIT_ARGB8888;
      case 24:
         format = MAPSURF_32BIT | MT_32BIT_XRGB8888;
      case 16:
         format = MAPSURF_16BIT | MT_16BIT_RGB565;
Comment 1 Andrew Randrianasulu 2007-09-10 22:00:06 UTC
Created attachment 11493 [details]
xorg.log with 24 bpp screen depth
Comment 2 Andrew Randrianasulu 2007-09-10 22:02:53 UTC
Created attachment 11494 [details]

If I change  DefaultColorDepth 24 to 16 - beryl works. and 32 bpp not supported, at least X don't start in this case, complaining about unsupported (by hardware) depth.
Comment 3 Michel Dänzer 2007-10-01 03:16:18 UTC
Created attachment 11835 [details] [review]
xserver patch
Comment 4 Michel Dänzer 2007-10-01 03:17:18 UTC
Created attachment 11836 [details] [review]
xf86-video-intel patch

Do these patches fix the problem?
Comment 5 Andrew Randrianasulu 2007-10-04 11:49:11 UTC
(In reply to comment #4)
> Created an attachment (id=11836) [details]
> xf86-video-intel patch
> Do these patches fix the problem?

I think no, mostly because now i915tex is unified with plain i915 on dri side, and with current ddx (buffer objects for everything) dri don't work at all on my i845. And old dri/drm don't work without  recompiling x-server against old drm/mesa stuff... Because this particular feature is much lower on my to-do list for testing - i'll wait for working dri/aiglx with new drivers instead of downgrading everything. Thanks for patches, i'll keep them until better day coming :)
Comment 6 Michael Fu 2007-12-03 17:04:35 UTC
i915tex is gone. would you please test on the git upstream to see if this bug still exist? If yes, would you please open another bug to track? I'll mark this bug as wontfix... thanks!
Comment 7 Michel Dänzer 2007-12-04 06:31:06 UTC
The unified i915 driver still has the same code.
Comment 8 Michel Dänzer 2009-02-13 00:28:38 UTC
FWIW, current xserver has a patch which allows the driver to return ~0ULL to indicate that the pixmap can't be used directly.
Comment 9 Eric Anholt 2009-08-18 18:20:31 UTC
Is this still an issue with DRI2?
Comment 10 Andrew Randrianasulu 2009-08-18 21:08:47 UTC
Sorry,  I don't have this hardware anymore ...
Comment 11 Eric Anholt 2009-08-19 09:01:34 UTC
OK, we'll go ahead and close it then.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.