[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #9 from Dave Airlie   2011-03-19 22:07:30 ---
I'm having trouble reconciling this with the graphics driver.

a) you claim it happens with fglrx as well, there is nothing shared between
them
(so it can't be a common gpu bug)

b) nothing is leaking according to that debug info in anywhere obvious.

One last test would be unload the gpu stack to see what happens

got to runlevel 3 or anywhere X isn't rnunig
echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod radeon ttm drm_kms_helper drm

see if memory is still gone.

maybe you can watch /proc/slabinfo to see where the memory might be going. It
might also just be page cache from the pdf loading,

does echo 3 > /proc/sys/vm/drop_caches help?

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
Dri-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH] kernel/drm: vblank wait on crtc > 1

2011-03-19 Thread Mario Kleiner
>
> On Fri, 18 Mar 2011, Jesse Barnes wrote:
>>
>> I like the new param check, but I'd still prefer a new ioctl to  
>> abusing
>> the old one.
>>
>
> It's not "abusing" it but extending the interface in a
> backwards-compatible manner. Introducing a new one would result in two
> ioctls that essentially do the same thing, which I don't like.

> On Fri, 18 Mar 2011, Jesse Barnes wrote:
>>

 > Yes abusing was a strong word; I just don't like encoding crtc  
numbers
 > in a bitfield, when we just use ints everywhere else.
 >
 > Not a big deal, Dave will make the final call.  Thanks for doing this
 > work.
 > --
 > Jesse Barnes, Intel Open Source Technology Center

Hi

A clean solution with int's in a new ioctl() would be certainly  
nicer. But if we'd define a waitvblank ioctl() v2, we should probably  
fix other limitations of the old one as well.

E.g., the kernel's vblank counter is only 32 bit. The api /  
oml_sync_control extension / mesa/ x etc. expose a 64 bit vblank  
counter. At the moment we work around this by masking out the upper  
32 bit in the ddx, accepting some small skipped frame glitch every  
couple of months of uptime when the "64 bit" counter wraps around  
already at 32 bits. This is something we should probably fix in a  
ioctl() v2 as well.

Take this just as my vote for Ilja's solution as a workable stop-gap  
measure for fixing an existing problem until we implement a more  
permanent solution for a new ioctl().

best,
-mario



[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=32639

alessandro.sturniolo at gmail.com changed:

   What|Removed |Added

Version|7.8 |7.10

--- Comment #8 from alessandro.sturniolo at gmail.com 2011-03-19 18:13:37 PDT 
---
Ok, I've enabled gallium with llvm support. Now neverball, from 1 fps with
gallium (2 fps with swrast) is jumped to 15 fps, and it is more playable.
Thanks :-)
But the performance gap with r300 driver without gallium (from Mesa 7.6
sources) is of a factor of about 2~2.5 times and on limited hardware like my
Radeon X1200 this is frustrating :-(
The fglrx driver, dropped support for this family of video card from March
2009.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[PATCH] kernel/drm: vblank wait on crtc > 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
 wrote:
>
> Hi Dave,
>
> Below is a patch against drm-next branch of 2.6.38-rc8+ kernel that adds the
> capability to wait on vblank events for CRTCs that are greater than 1 and
> thus cannot be represented with primary/secondary flags in the legacy
> interface. It was discussed on the dri-devel list in these two threads:
>
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html
>
> This patch extends the interface to drm_wait_vblank ioctl so that crtc>1 can
> be represented. It also adds a new capability to drm_getcap ioctl so that
> the user space can check whether the new interface to drm_wait_vblank is
> supported (and fall back to the legacy interface if not)
>
> Regards,
>
> Ilija
>
>
> Reviewed-by: Mario Kleiner 
> Acked-by: Mario Kleiner 

Ilija, please add your signed-off-by.

Alex

>
> diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> index 7f6912a..3617b4c 100644
> --- a/drivers/gpu/drm/drm_ioctl.c
> +++ b/drivers/gpu/drm/drm_ioctl.c
> @@ -280,6 +280,9 @@ int drm_getcap(struct drm_device *dev, void *data,
> struct drm_file *file_priv)
> ? ? ? ? ? ? ? ?if (dev->driver->dumb_create)
> ? ? ? ? ? ? ? ? ? ? ? ?req->value = 1;
> ? ? ? ? ? ? ? ?break;
> + ? ? ? case DRM_CAP_HIGH_CRTC:
> + ? ? ? ? ? ? ? req->value = 1;
> + ? ? ? ? ? ? ? break;
> ? ? ? ?default:
> ? ? ? ? ? ? ? ?return -EINVAL;
> ? ? ? ?}
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index a34ef97..c725088 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -1125,7 +1125,7 @@ int drm_wait_vblank(struct drm_device *dev, void
> *data,
> ?{
> ? ? ? ?union drm_wait_vblank *vblwait = data;
> ? ? ? ?int ret = 0;
> - ? ? ? unsigned int flags, seq, crtc;
> + ? ? ? unsigned int flags, seq, crtc, high_crtc;
>
> ? ? ? ?if ((!drm_dev_to_irq(dev)) || (!dev->irq_enabled))
> ? ? ? ? ? ? ? ?return -EINVAL;
> @@ -1134,16 +1134,21 @@ int drm_wait_vblank(struct drm_device *dev, void
> *data,
> ? ? ? ? ? ? ? ?return -EINVAL;
>
> ? ? ? ?if (vblwait->request.type &
> - ? ? ? ? ? ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK)) {
> + ? ? ? ? ? ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK | +
> ? _DRM_VBLANK_HIGH_CRTC_MASK)) {
> ? ? ? ? ? ? ? ?DRM_ERROR("Unsupported type value 0x%x, supported mask
> 0x%x\n",
> ? ? ? ? ? ? ? ? ? ? ? ? ?vblwait->request.type,
> - ? ? ? ? ? ? ? ? ? ? ? ? (_DRM_VBLANK_TYPES_MASK |
> _DRM_VBLANK_FLAGS_MASK));
> + ? ? ? ? ? ? ? ? ? ? ? ? (_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK |
> + ? ? ? ? ? ? ? ? ? ? _DRM_VBLANK_HIGH_CRTC_MASK));
> ? ? ? ? ? ? ? ?return -EINVAL;
> ? ? ? ?}
>
> ? ? ? ?flags = vblwait->request.type & _DRM_VBLANK_FLAGS_MASK;
> - ? ? ? crtc = flags & _DRM_VBLANK_SECONDARY ? 1 : 0;
> -
> + ? ? ? high_crtc = (vblwait->request.type & _DRM_VBLANK_HIGH_CRTC_MASK);
> + ? ? ? if (high_crtc)
> + ? ? ? ? ? ? ? crtc = high_crtc >> _DRM_VBLANK_HIGH_CRTC_SHIFT;
> + ? ? ? else
> + ? ? ? ? ? ? ? crtc = flags & _DRM_VBLANK_SECONDARY ? 1 : 0;
> ? ? ? ?if (crtc >= dev->num_crtcs)
> ? ? ? ? ? ? ? ?return -EINVAL;
>
> diff --git a/include/drm/drm.h b/include/drm/drm.h
> index 9ac4313..99cd074 100644
> --- a/include/drm/drm.h
> +++ b/include/drm/drm.h
> @@ -469,6 +469,8 @@ enum drm_vblank_seq_type {
> ? ? ? ?_DRM_VBLANK_SECONDARY = 0x2000, ? ? /**< Secondary display
> controller */
> ? ? ? ?_DRM_VBLANK_SIGNAL = 0x4000 /**< Send signal instead of blocking,
> unsupported */
> ?};
> +#define _DRM_VBLANK_HIGH_CRTC_SHIFT 16
> +#define _DRM_VBLANK_HIGH_CRTC_MASK 0x001F
>
> ?#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE |
> _DRM_VBLANK_RELATIVE)
> ?#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \
> @@ -753,6 +755,7 @@ struct drm_event_vblank {
> ?};
>
> ?#define DRM_CAP_DUMB_BUFFER 0x1
> +#define DRM_CAP_HIGH_CRTC 0x2
>
> ?/* typedef area */
> ?#ifndef __KERNEL__
>


[PATCH] xf86-video-ati: vblank wait on crtc > 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
 wrote:
>
> Hi Alex,
>
> Below is a patch against the master branch of xf86-video-ati that adds
> support for waits on vblank events on CRTCs that are greater than 1 (and
> thus cannot be represented using current primary/secondary flags interface).
> The patch makes use of GET_CAP ioctl to check whether
> vblanks on crtc > 1 are supported by the kernel. If they are not
> falls back to legacy behavior. Otherwise, it uses correct crtc numbers
> when waiting on vblank and thus corrects the problem seen in certain
> multiscreen configurations.
>
> The issue was discussed on the dri-devel list in these two threads
>
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html
>
> regards,
>
> Ilija
>
> Reviewed-by: Mario Kleiner 
> Acked-by: Mario Kleiner 


Reviewed-by: Alex Deucher 
Tested-by: Alex Deucher 

>
> diff --git a/src/radeon.h b/src/radeon.h
> index a6d20d7..1a746c7 100644
> --- a/src/radeon.h
> +++ b/src/radeon.h
> @@ -931,6 +931,9 @@ typedef struct {
>
> ? ? RADEONFBLayout ? ?CurrentLayout;
>
> +#ifdef RADEON_DRI2
> + ? ?Bool ? ? ? ? ? ? ?high_crtc_works;
> +#endif
> ?#ifdef XF86DRI
> ? ? Bool ? ? ? ? ? ? ?directRenderingEnabled;
> ? ? Bool ? ? ? ? ? ? ?directRenderingInited;
> diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
> index 66df03c..ed27dad 100644
> --- a/src/radeon_dri2.c
> +++ b/src/radeon_dri2.c
> @@ -783,6 +783,7 @@ static int radeon_dri2_get_msc(DrawablePtr draw, CARD64
> *ust, CARD64 *msc)
> ? ? drmVBlank vbl;
> ? ? int ret;
> ? ? int crtc = radeon_dri2_drawable_crtc(draw);
> + ? ?int high_crtc = 0;
>
> ? ? /* Drawable not displayed, make up a value */
> ? ? if (crtc == -1) {
> @@ -791,8 +792,16 @@ static int radeon_dri2_get_msc(DrawablePtr draw, CARD64
> *ust, CARD64 *msc)
> ? ? ? ? return TRUE;
> ? ? }
> ? ? vbl.request.type = DRM_VBLANK_RELATIVE;
> - ? ?if (crtc > 0)
> + ? ?if (crtc == 1)
> ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ?else if (crtc > 1) {
> + ? ? ? if (info->high_crtc_works) {
> + ? ? ? ? ? high_crtc = (crtc << DRM_VBLANK_HIGH_CRTC_SHIFT) &
> + ? ? ? ? ? ? ? DRM_VBLANK_HIGH_CRTC_MASK;
> + ? ? ? } else
> + ? ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ?}
> + ? ?vbl.request.type |= high_crtc;
> ? ? vbl.request.sequence = 0;
>
> ? ? ret = drmWaitVBlank(info->dri2.drm_fd, );
> @@ -825,6 +834,7 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
> client, DrawablePtr draw,
> ? ? drmVBlank vbl;
> ? ? int ret, crtc = radeon_dri2_drawable_crtc(draw);
> ? ? CARD64 current_msc;
> + ? ?int high_crtc = 0;
>
> ? ? /* Truncate to match kernel interfaces; means occasional overflow
> ? ? ?* misses, but that's generally not a big deal */
> @@ -855,8 +865,16 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
> client, DrawablePtr draw,
>
> ? ? /* Get current count */
> ? ? vbl.request.type = DRM_VBLANK_RELATIVE;
> - ? ?if (crtc > 0)
> + ? ?if (crtc == 1)
> ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ?else if (crtc > 1) {
> + ? ? ? if (info->high_crtc_works) {
> + ? ? ? ? ? high_crtc = (crtc << DRM_VBLANK_HIGH_CRTC_SHIFT) &
> + ? ? ? ? ? ? ? DRM_VBLANK_HIGH_CRTC_MASK;
> + ? ? ? } else
> + ? ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ?}
> + ? ?vbl.request.type |= high_crtc;
> ? ? vbl.request.sequence = 0;
> ? ? ret = drmWaitVBlank(info->dri2.drm_fd, );
> ? ? if (ret) {
> @@ -882,8 +900,16 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
> client, DrawablePtr draw,
> ? ? ? ? if (current_msc >= target_msc)
> ? ? ? ? ? ? target_msc = current_msc;
> ? ? ? ? vbl.request.type = DRM_VBLANK_ABSOLUTE | DRM_VBLANK_EVENT;
> - ? ? ? ?if (crtc > 0)
> + ? ? ? ?if (crtc == 1)
> ? ? ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ? ? else if (crtc > 1) {
> + ? ? ? ? ? if (info->high_crtc_works) {
> + ? ? ? ? ? ? ? high_crtc = (crtc << DRM_VBLANK_HIGH_CRTC_SHIFT) &
> + ? ? ? ? ? ? ? ? ? DRM_VBLANK_HIGH_CRTC_MASK;
> + ? ? ? ? ? } else
> + ? ? ? ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ? ? }
> + ? ? ? vbl.request.type |= high_crtc;
> ? ? ? ? vbl.request.sequence = target_msc;
> ? ? ? ? vbl.request.signal = (unsigned long)wait_info;
> ? ? ? ? ret = drmWaitVBlank(info->dri2.drm_fd, );
> @@ -903,8 +929,16 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
> client, DrawablePtr draw,
> ? ? ?* so we queue an event that will satisfy the divisor/remainder
> equation.
> ? ? ?*/
> ? ? vbl.request.type = DRM_VBLANK_ABSOLUTE | DRM_VBLANK_EVENT;
> - ? ?if (crtc > 0)
> + ? ?if (crtc == 1)
> ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ?else if (crtc > 1) {
> + ? ? ? if (info->high_crtc_works) {
> + ? ? ? ? ? high_crtc = (crtc << DRM_VBLANK_HIGH_CRTC_SHIFT) &
> + ? ? ? ? ? ? ? DRM_VBLANK_HIGH_CRTC_MASK;
> + ? ? ? } else
> + ? ? ? ? ? vbl.request.type |= DRM_VBLANK_SECONDARY;
> + ? ?}
> + ? ?vbl.request.type |= high_crtc;
>
> ? ? vbl.request.sequence = current_msc - (current_msc % 

[PATCH] libdrm: vblank wait on crtc > 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
 wrote:
>
> Hi Alex,
>
> Below is a patch against the master branch of libdrm that adds support for
> waits for vblank events on CRTCs that are greater than 1 (and thus cannot be
> represented using current primary/secondary flags interface). The patch adds
> a new DRM_CAP so that the application can check whether the new vblank
> interface is supported and also adds the new DRM_VBLANK mask and shift value
> so that the application can construct vblank_wait ioctls that refer to crtc
>> 1
>
> The issue was discussed on the dri-devel list in these two threads
>
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html
>
> Regards,
>
> Ilija
>
> Reviewed-by: Mario Kleiner 
> Acked-by: Mario Kleiner 

Reviewed-by: Alex Deucher 
Tested-by: Alex Deucher 

>
>
> diff --git a/include/drm/drm.h b/include/drm/drm.h
> index 416673a..10afaf1 100644
> --- a/include/drm/drm.h
> +++ b/include/drm/drm.h
> @@ -755,6 +755,7 @@ struct drm_event_vblank {
> ?};
>
> ?#define DRM_CAP_DUMB_BUFFER 0x1
> +#define DRM_CAP_HIGH_CRTC ? 0x2
>
> ?/* typedef area */
> ?typedef struct drm_clip_rect drm_clip_rect_t;
> diff --git a/xf86drm.h b/xf86drm.h
> index bf0d5df..e2bea06 100644
> --- a/xf86drm.h
> +++ b/xf86drm.h
> @@ -302,6 +302,8 @@ typedef enum {
> ? ? DRM_VBLANK_SECONDARY = 0x2000, /**< Secondary display controller */
> ? ? DRM_VBLANK_SIGNAL ? = 0x4000 ? /* Send signal instead of blocking */
> ?} drmVBlankSeqType;
> +#define DRM_VBLANK_HIGH_CRTC_SHIFT 16
> +#define DRM_VBLANK_HIGH_CRTC_MASK 0x001F
>
> ?typedef struct _drmVBlankReq {
> ? ? ? ?drmVBlankSeqType type;
>


[PATCH] kernel/drm: vblank wait on crtc > 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
 wrote:
>
> Hi Dave,
>
> Below is a patch against drm-next branch of 2.6.38-rc8+ kernel that adds the
> capability to wait on vblank events for CRTCs that are greater than 1 and
> thus cannot be represented with primary/secondary flags in the legacy
> interface. It was discussed on the dri-devel list in these two threads:
>
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html
>
> This patch extends the interface to drm_wait_vblank ioctl so that crtc>1 can
> be represented. It also adds a new capability to drm_getcap ioctl so that
> the user space can check whether the new interface to drm_wait_vblank is
> supported (and fall back to the legacy interface if not)
>
> Regards,
>
> Ilija
>
>
> Reviewed-by: Mario Kleiner 
> Acked-by: Mario Kleiner 

Looks good to me.

Reviewed-by: Alex Deucher 
Tested-by: Alex Deucher 

>
> diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> index 7f6912a..3617b4c 100644
> --- a/drivers/gpu/drm/drm_ioctl.c
> +++ b/drivers/gpu/drm/drm_ioctl.c
> @@ -280,6 +280,9 @@ int drm_getcap(struct drm_device *dev, void *data,
> struct drm_file *file_priv)
> ? ? ? ? ? ? ? ?if (dev->driver->dumb_create)
> ? ? ? ? ? ? ? ? ? ? ? ?req->value = 1;
> ? ? ? ? ? ? ? ?break;
> + ? ? ? case DRM_CAP_HIGH_CRTC:
> + ? ? ? ? ? ? ? req->value = 1;
> + ? ? ? ? ? ? ? break;
> ? ? ? ?default:
> ? ? ? ? ? ? ? ?return -EINVAL;
> ? ? ? ?}
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index a34ef97..c725088 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -1125,7 +1125,7 @@ int drm_wait_vblank(struct drm_device *dev, void
> *data,
> ?{
> ? ? ? ?union drm_wait_vblank *vblwait = data;
> ? ? ? ?int ret = 0;
> - ? ? ? unsigned int flags, seq, crtc;
> + ? ? ? unsigned int flags, seq, crtc, high_crtc;
>
> ? ? ? ?if ((!drm_dev_to_irq(dev)) || (!dev->irq_enabled))
> ? ? ? ? ? ? ? ?return -EINVAL;
> @@ -1134,16 +1134,21 @@ int drm_wait_vblank(struct drm_device *dev, void
> *data,
> ? ? ? ? ? ? ? ?return -EINVAL;
>
> ? ? ? ?if (vblwait->request.type &
> - ? ? ? ? ? ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK)) {
> + ? ? ? ? ? ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK | +
> ? _DRM_VBLANK_HIGH_CRTC_MASK)) {
> ? ? ? ? ? ? ? ?DRM_ERROR("Unsupported type value 0x%x, supported mask
> 0x%x\n",
> ? ? ? ? ? ? ? ? ? ? ? ? ?vblwait->request.type,
> - ? ? ? ? ? ? ? ? ? ? ? ? (_DRM_VBLANK_TYPES_MASK |
> _DRM_VBLANK_FLAGS_MASK));
> + ? ? ? ? ? ? ? ? ? ? ? ? (_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK |
> + ? ? ? ? ? ? ? ? ? ? _DRM_VBLANK_HIGH_CRTC_MASK));
> ? ? ? ? ? ? ? ?return -EINVAL;
> ? ? ? ?}
>
> ? ? ? ?flags = vblwait->request.type & _DRM_VBLANK_FLAGS_MASK;
> - ? ? ? crtc = flags & _DRM_VBLANK_SECONDARY ? 1 : 0;
> -
> + ? ? ? high_crtc = (vblwait->request.type & _DRM_VBLANK_HIGH_CRTC_MASK);
> + ? ? ? if (high_crtc)
> + ? ? ? ? ? ? ? crtc = high_crtc >> _DRM_VBLANK_HIGH_CRTC_SHIFT;
> + ? ? ? else
> + ? ? ? ? ? ? ? crtc = flags & _DRM_VBLANK_SECONDARY ? 1 : 0;
> ? ? ? ?if (crtc >= dev->num_crtcs)
> ? ? ? ? ? ? ? ?return -EINVAL;
>
> diff --git a/include/drm/drm.h b/include/drm/drm.h
> index 9ac4313..99cd074 100644
> --- a/include/drm/drm.h
> +++ b/include/drm/drm.h
> @@ -469,6 +469,8 @@ enum drm_vblank_seq_type {
> ? ? ? ?_DRM_VBLANK_SECONDARY = 0x2000, ? ? /**< Secondary display
> controller */
> ? ? ? ?_DRM_VBLANK_SIGNAL = 0x4000 /**< Send signal instead of blocking,
> unsupported */
> ?};
> +#define _DRM_VBLANK_HIGH_CRTC_SHIFT 16
> +#define _DRM_VBLANK_HIGH_CRTC_MASK 0x001F
>
> ?#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE |
> _DRM_VBLANK_RELATIVE)
> ?#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \
> @@ -753,6 +755,7 @@ struct drm_event_vblank {
> ?};
>
> ?#define DRM_CAP_DUMB_BUFFER 0x1
> +#define DRM_CAP_HIGH_CRTC 0x2
>
> ?/* typedef area */
> ?#ifndef __KERNEL__
>


[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=32639

--- Comment #7 from Alex Deucher  2011-03-19 15:03:59 PDT 
---
(In reply to comment #6)
> I've google a little bit.
> The r300g is the gallium driver for r300?
> 
> The problem is that gallium actually is too slow. On my notebook, is much
> faster the swrast driver, but if I disable gallium, I get the artifacts.
> 
> At this time, on this kind of hardware (I've a Radeon X1200), gallium is 
> almost
> unusable.

enable llvm in your mesa build:
--enable-gallium-llvm

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=32639

--- Comment #6 from alessandro.sturniolo at gmail.com 2011-03-19 14:54:54 PDT 
---
I've google a little bit.
The r300g is the gallium driver for r300?

The problem is that gallium actually is too slow. On my notebook, is much
faster the swrast driver, but if I disable gallium, I get the artifacts.

At this time, on this kind of hardware (I've a Radeon X1200), gallium is almost
unusable.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=32639

--- Comment #5 from alessandro.sturniolo at gmail.com 2011-03-19 14:49:17 PDT 
---
I've recently update my system to openSuSE 11.4, so I've installed recent Mesa
7.10 (RPM package is Mesa-7.10-59.3 from
http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.4 repository).

The package is compiled with gallium enabled by default, then the artifacts
aren't present.

Instead when I recompile the package from openSuSE SRPM sources with gallium
disabled, the artifacts reappear.

I've tested with r300 driver, because I was not able to found and enable r300g
on Mesa 7.10.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[PATCH] kernel/drm: vblank wait on crtc > 1

2011-03-19 Thread Alex Deucher
On Sat, Mar 19, 2011 at 1:30 PM, Mario Kleiner
 wrote:
>>
>> On Fri, 18 Mar 2011, Jesse Barnes wrote:
>>>
>>> I like the new param check, but I'd still prefer a new ioctl to abusing
>>> the old one.
>>>
>>
>> It's not "abusing" it but extending the interface in a
>> backwards-compatible manner. Introducing a new one would result in two
>> ioctls that essentially do the same thing, which I don't like.
>
>> On Fri, 18 Mar 2011, Jesse Barnes wrote:
>>>
>
>> Yes abusing was a strong word; I just don't like encoding crtc numbers
>> in a bitfield, when we just use ints everywhere else.
>>
>> Not a big deal, Dave will make the final call. ?Thanks for doing this
>> work.
>> --
>> Jesse Barnes, Intel Open Source Technology Center
>
> Hi
>
> A clean solution with int's in a new ioctl() would be certainly nicer. But
> if we'd define a waitvblank ioctl() v2, we should probably fix other
> limitations of the old one as well.
>
> E.g., the kernel's vblank counter is only 32 bit. The api / oml_sync_control
> extension / mesa/ x etc. expose a 64 bit vblank counter. At the moment we
> work around this by masking out the upper 32 bit in the ddx, accepting some
> small skipped frame glitch every couple of months of uptime when the "64
> bit" counter wraps around already at 32 bits. This is something we should
> probably fix in a ioctl() v2 as well.
>
> Take this just as my vote for Ilja's solution as a workable stop-gap measure
> for fixing an existing problem until we implement a more permanent solution
> for a new ioctl().

I agree.  I think this is a good stop-gap to support >2 crtcs until we
design a better ioctl.

Alex

>
> best,
> -mario
>
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #6 from Vaclav Cermak  2011-03-19 12:50:15 
PDT ---
disnel at infimi:~$ LIBGL_DEBUG=verbose glxgears
libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so
libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
304 frames in 5.0 seconds = 60.672 FPS
303 frames in 5.0 seconds = 60.560 FPS
302 frames in 5.0 seconds = 60.368 FPS
^C
disnel at infimi:~$

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #5 from Marek Ol??k  2011-03-19 12:42:19 PDT 
---
(In reply to comment #4)
> glxgears does not write anything interesting:
> 
> 
> disnel at infimi:~$ RADEON_DEBUG=info glxgears
> Running synchronized to the vertical refresh.  The framerate should be
> approximately the same as the monitor refresh rate.
> 304 frames in 5.0 seconds = 60.708 FPS
> 303 frames in 5.0 seconds = 60.565 FPS
> ^C
> disnel at infimi:~$ 
> 
> dmesg attached. Texture has 24bit per pixel.

You seem to be using indirect rendering. Please post the output of:

LIBGL_DEBUG=verbose glxgears

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


Future desktop on dumb frame buffers?

2011-03-19 Thread Geert Uytterhoeven
As noone responded to my question in
http://www.spinics.net/lists/dri-devel/msg08851.html
(yes, it was a bit hidden in a thread), I'm asking it here again (and
also on the Wayland
mailing list).

Basically I'm still puzzled about this KMS thing. If the name "Kernel
Mode Setting"
covers it, then how does it compare to plain fbdev? Just additional frame buffer
memory management?
Also, some people may remember we did have kernel messages (e.g. oops, panic)
on graphical consoles with fbdev, until people started not liking them
showing up
on their X desktops...

Furthermore, everybody states that "future desktop" (that's
http://wayland.freedesktop.org/)
will require KMS drivers.
How do/will we handle this on dumb frame buffers? It's not like we can't do
"advanced" things like compositing using the CPU. Transparency may stretch
it a bit on lower end CPUs, but you don't always need that.

Thanks for your answers and comments!

Gr{oetje,eeting}s,

? ? ? ? ? ? ? ? ? ? ? ? Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 
linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?? -- Linus Torvalds


[Bug 35045] BUG at ttm_bo.c:272! (ttm_bo_ref_bug -> ttm_bo_list_ref_sub+0x28/0x30)

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35045

--- Comment #3 from Dave Gilbert  2011-03-19 
11:14:22 PDT ---
Seems to be gone on todays drm-next (commit
c87a8d8dcd2587c203f3dd8a3c5c15d1e128ec0d ) with current ubuntu xorg-edgers;
seems to be back to my original bug of *ERROR* Failed to parse relocation -35!

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

Alex Deucher  changed:

   What|Removed |Added

  Attachment #44615|application/octet-stream|text/plain
  mime type||
  Attachment #44615|0   |1
   is patch||

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


Future desktop on dumb frame buffers?

2011-03-19 Thread Rob Clark
On Sat, Mar 19, 2011 at 6:20 AM, Geert Uytterhoeven
 wrote:
> As noone responded to my question in
> http://www.spinics.net/lists/dri-devel/msg08851.html
> (yes, it was a bit hidden in a thread), I'm asking it here again (and
> also on the Wayland
> mailing list).
>
> Basically I'm still puzzled about this KMS thing. If the name "Kernel
> Mode Setting"
> covers it, then how does it compare to plain fbdev? Just additional frame 
> buffer
> memory management?
> Also, some people may remember we did have kernel messages (e.g. oops, panic)
> on graphical consoles with fbdev, until people started not liking them
> showing up
> on their X desktops...

The KMS part of DRM has nothing to do with acceleration.  So it could
be implemented on a dumb framebuffer.  KMS is just about mode-setting,
and configuring framebuffer (memory) that is scanned out to one or
more displays.

BR,
-R

> Furthermore, everybody states that "future desktop" (that's
> http://wayland.freedesktop.org/)
> will require KMS drivers.
> How do/will we handle this on dumb frame buffers? It's not like we can't do
> "advanced" things like compositing using the CPU. Transparency may stretch
> it a bit on lower end CPUs, but you don't always need that.
>
> Thanks for your answers and comments!
>
> Gr{oetje,eeting}s,
>
> ? ? ? ? ? ? ? ? ? ? ? ? Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 
> linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like 
> that.
> ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?? -- Linus Torvalds
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #8 from Kevin   2011-03-19 09:17:19 ---
The attached "debug info" above is output after logging out of X (I still had
about ~30MB from root processes). It includes what Dave asked for. FYI, I
haven't rebooted since my last post.

$ free -m
 total   used   free sharedbuffers cached
Mem:  5920   4279   1641  0212   2547
-/+ buffers/cache:   1519   4401
Swap: 7998  0   7998

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
Dri-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #7 from Kevin   2011-03-19 09:15:54 ---
Created an attachment (id=51232)
 --> (https://bugzilla.kernel.org/attachment.cgi?id=51232)
debug info

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
Dri-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #6 from Dave Airlie   2011-03-19 07:17:08 ---
how about cat /sys/kernel/debug/dri/0/ttm_page_pool 

and /sys/class/drm/ttm/memory_accounting/*/*

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
Dri-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #5 from Dave Airlie   2011-03-19 07:16:26 ---
how about cat /sys/kernel/debug/dri/0/ttm_page_pool

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
Dri-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #4 from Vaclav Cermak  2011-03-19 06:40:41 
PDT ---
glxgears does not write anything interesting:


disnel at infimi:~$ RADEON_DEBUG=info glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
304 frames in 5.0 seconds = 60.708 FPS
303 frames in 5.0 seconds = 60.565 FPS
^C
disnel at infimi:~$ 

dmesg attached. Texture has 24bit per pixel.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #3 from Vaclav Cermak  2011-03-19 06:39:11 
PDT ---
Created an attachment (id=44615)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=44615)
dmesg output

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #2 from Marek Ol??k  2011-03-19 05:52:03 PDT 
---
Also please attach your dmesg.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #1 from Marek Ol??k  2011-03-19 05:41:01 PDT 
---
When the CS space validation fails, it means there is not enough space either
in the video memory or in the GPU-accessible system memory.

How many bits per pixel does the texture have? 4096x4096 is the maximum
hardware limit. Any larger texture is not loaded and OpenGL will return an
error to the application (but Blender seems to ignore it), and can draw either
a black or white color instead.

Please post the output of:

RADEON_DEBUG=info glxgears

I am interested in the lines beginning with "r300:"

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 35446] New: Problem with Blender and big textures

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=35446

   Summary: Problem with Blender and big textures
   Product: Mesa
   Version: git
  Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/Gallium/r300
AssignedTo: dri-devel at lists.freedesktop.org
ReportedBy: disnel at disnel.com


When I try to use a big texture (4096x4096) in blender 2.56beta, I get
following error:

r300: CS space validation failed. (not enough memory?) Skipping rendering.

and no texture is displayed. Smaller textures (tested 2048x2048) works fine.
Also with LIBGL_ALWAYS_SOFTWARE=1 it works fine. When I try bigger texture
(8000x6048), I get no error, but also no texture and I can see screen
corruption with Compiz (bad window shadows, applets on panel, background on 2nd
display etc).

Blender files with textures and image with corrupted display are here

http://devel.disnel.com/tmp/

(I dont'know, how big files can I attach here). I'am using mesa
7.11.0-git2011016+gallium from xorg-edgers with Ubuntu 10.10 x86_64. My
graphics card is Radeon X1400.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 32911] [RADEON:KMS:MEMCORRUPTION] random memory corruption if using more than 4GiB of RAM on Core i7/P55

2011-03-19 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=32911

Siarhei Siamashka  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID

--- Comment #5 from Siarhei Siamashka  
2011-03-19 02:56:03 PDT ---
After all, it looks like it is a hardware problem on my side. Experimenting
with 'memmap' option simulating 4GiB setup precisely does not help when all
8GiB are installed. Also reducing RAM speed from DDR3-1333 to DDR3-1066 or
DDR3-800 makes the problem significantly harder to reproduce, but does not
eliminate it completely. And looking around in various hardware forums,
reliability with all four DIMM modules installed seems to be a rather common
problem.

Appears that llvmpipe is just a very good memory checker, putting a lot of
stress on all CPU cores and memory controller, exposing problems which don't
happen in other use cases.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #5 from Dave Airlie airl...@linux.ie  2011-03-19 07:16:26 ---
how about cat /sys/kernel/debug/dri/0/ttm_page_pool

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
dri-de...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #6 from Dave Airlie airl...@linux.ie  2011-03-19 07:17:08 ---
how about cat /sys/kernel/debug/dri/0/ttm_page_pool 

and /sys/class/drm/ttm/memory_accounting/*/*

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
dri-de...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #7 from Kevin kjs...@gmail.com  2011-03-19 09:15:54 ---
Created an attachment (id=51232)
 -- (https://bugzilla.kernel.org/attachment.cgi?id=51232)
debug info

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
dri-de...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #8 from Kevin kjs...@gmail.com  2011-03-19 09:17:19 ---
The attached debug info above is output after logging out of X (I still had
about ~30MB from root processes). It includes what Dave asked for. FYI, I
haven't rebooted since my last post.

$ free -m
 total   used   free sharedbuffers cached
Mem:  5920   4279   1641  0212   2547
-/+ buffers/cache:   1519   4401
Swap: 7998  0   7998

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
dri-de...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 32911] [RADEON:KMS:MEMCORRUPTION] random memory corruption if using more than 4GiB of RAM on Core i7/P55

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32911

Siarhei Siamashka siarhei.siamas...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID

--- Comment #5 from Siarhei Siamashka siarhei.siamas...@gmail.com 2011-03-19 
02:56:03 PDT ---
After all, it looks like it is a hardware problem on my side. Experimenting
with 'memmap' option simulating 4GiB setup precisely does not help when all
8GiB are installed. Also reducing RAM speed from DDR3-1333 to DDR3-1066 or
DDR3-800 makes the problem significantly harder to reproduce, but does not
eliminate it completely. And looking around in various hardware forums,
reliability with all four DIMM modules installed seems to be a rather common
problem.

Appears that llvmpipe is just a very good memory checker, putting a lot of
stress on all CPU cores and memory controller, exposing problems which don't
happen in other use cases.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 35446] New: Problem with Blender and big textures

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35446

   Summary: Problem with Blender and big textures
   Product: Mesa
   Version: git
  Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/Gallium/r300
AssignedTo: dri-devel@lists.freedesktop.org
ReportedBy: dis...@disnel.com


When I try to use a big texture (4096x4096) in blender 2.56beta, I get
following error:

r300: CS space validation failed. (not enough memory?) Skipping rendering.

and no texture is displayed. Smaller textures (tested 2048x2048) works fine.
Also with LIBGL_ALWAYS_SOFTWARE=1 it works fine. When I try bigger texture
(8000x6048), I get no error, but also no texture and I can see screen
corruption with Compiz (bad window shadows, applets on panel, background on 2nd
display etc).

Blender files with textures and image with corrupted display are here

http://devel.disnel.com/tmp/

(I dont'know, how big files can I attach here). I'am using mesa
7.11.0-git2011016+gallium from xorg-edgers with Ubuntu 10.10 x86_64. My
graphics card is Radeon X1400.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Future desktop on dumb frame buffers?

2011-03-19 Thread Geert Uytterhoeven
As noone responded to my question in
http://www.spinics.net/lists/dri-devel/msg08851.html
(yes, it was a bit hidden in a thread), I'm asking it here again (and
also on the Wayland
mailing list).

Basically I'm still puzzled about this KMS thing. If the name Kernel
Mode Setting
covers it, then how does it compare to plain fbdev? Just additional frame buffer
memory management?
Also, some people may remember we did have kernel messages (e.g. oops, panic)
on graphical consoles with fbdev, until people started not liking them
showing up
on their X desktops...

Furthermore, everybody states that future desktop (that's
http://wayland.freedesktop.org/)
will require KMS drivers.
How do/will we handle this on dumb frame buffers? It's not like we can't do
advanced things like compositing using the CPU. Transparency may stretch
it a bit on lower end CPUs, but you don't always need that.

Thanks for your answers and comments!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say programmer or something like that.
                                -- Linus Torvalds
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #1 from Marek Olšák mar...@gmail.com 2011-03-19 05:41:01 PDT ---
When the CS space validation fails, it means there is not enough space either
in the video memory or in the GPU-accessible system memory.

How many bits per pixel does the texture have? 4096x4096 is the maximum
hardware limit. Any larger texture is not loaded and OpenGL will return an
error to the application (but Blender seems to ignore it), and can draw either
a black or white color instead.

Please post the output of:

RADEON_DEBUG=info glxgears

I am interested in the lines beginning with r300:

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #2 from Marek Olšák mar...@gmail.com 2011-03-19 05:52:03 PDT ---
Also please attach your dmesg.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #3 from Vaclav Cermak dis...@disnel.com 2011-03-19 06:39:11 PDT 
---
Created an attachment (id=44615)
 -- (https://bugs.freedesktop.org/attachment.cgi?id=44615)
dmesg output

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #4 from Vaclav Cermak dis...@disnel.com 2011-03-19 06:40:41 PDT 
---
glxgears does not write anything interesting:


disnel@infimi:~$ RADEON_DEBUG=info glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
304 frames in 5.0 seconds = 60.708 FPS
303 frames in 5.0 seconds = 60.565 FPS
^C
disnel@infimi:~$ 

dmesg attached. Texture has 24bit per pixel.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Future desktop on dumb frame buffers?

2011-03-19 Thread Rob Clark
On Sat, Mar 19, 2011 at 6:20 AM, Geert Uytterhoeven
ge...@linux-m68k.org wrote:
 As noone responded to my question in
 http://www.spinics.net/lists/dri-devel/msg08851.html
 (yes, it was a bit hidden in a thread), I'm asking it here again (and
 also on the Wayland
 mailing list).

 Basically I'm still puzzled about this KMS thing. If the name Kernel
 Mode Setting
 covers it, then how does it compare to plain fbdev? Just additional frame 
 buffer
 memory management?
 Also, some people may remember we did have kernel messages (e.g. oops, panic)
 on graphical consoles with fbdev, until people started not liking them
 showing up
 on their X desktops...

The KMS part of DRM has nothing to do with acceleration.  So it could
be implemented on a dumb framebuffer.  KMS is just about mode-setting,
and configuring framebuffer (memory) that is scanned out to one or
more displays.

BR,
-R

 Furthermore, everybody states that future desktop (that's
 http://wayland.freedesktop.org/)
 will require KMS drivers.
 How do/will we handle this on dumb frame buffers? It's not like we can't do
 advanced things like compositing using the CPU. Transparency may stretch
 it a bit on lower end CPUs, but you don't always need that.

 Thanks for your answers and comments!

 Gr{oetje,eeting}s,

                         Geert

 --
 Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
 ge...@linux-m68k.org

 In personal conversations with technical people, I call myself a hacker. But
 when I'm talking to journalists I just say programmer or something like 
 that.
                                 -- Linus Torvalds
 ___
 dri-devel mailing list
 dri-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/dri-devel

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] kernel/drm: vblank wait on crtc 1

2011-03-19 Thread Mario Kleiner


On Fri, 18 Mar 2011, Jesse Barnes wrote:


I like the new param check, but I'd still prefer a new ioctl to  
abusing

the old one.



It's not abusing it but extending the interface in a
backwards-compatible manner. Introducing a new one would result in two
ioctls that essentially do the same thing, which I don't like.



On Fri, 18 Mar 2011, Jesse Barnes wrote:




 Yes abusing was a strong word; I just don't like encoding crtc  
numbers

 in a bitfield, when we just use ints everywhere else.

 Not a big deal, Dave will make the final call.  Thanks for doing this
 work.
 --
 Jesse Barnes, Intel Open Source Technology Center

Hi

A clean solution with int's in a new ioctl() would be certainly  
nicer. But if we'd define a waitvblank ioctl() v2, we should probably  
fix other limitations of the old one as well.


E.g., the kernel's vblank counter is only 32 bit. The api /  
oml_sync_control extension / mesa/ x etc. expose a 64 bit vblank  
counter. At the moment we work around this by masking out the upper  
32 bit in the ddx, accepting some small skipped frame glitch every  
couple of months of uptime when the 64 bit counter wraps around  
already at 32 bits. This is something we should probably fix in a  
ioctl() v2 as well.


Take this just as my vote for Ilja's solution as a workable stop-gap  
measure for fixing an existing problem until we implement a more  
permanent solution for a new ioctl().


best,
-mario

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35446

Alex Deucher ag...@yahoo.com changed:

   What|Removed |Added

  Attachment #44615|application/octet-stream|text/plain
  mime type||
  Attachment #44615|0   |1
   is patch||

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] kernel/drm: vblank wait on crtc 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
ihad...@research.bell-labs.com wrote:

 Hi Dave,

 Below is a patch against drm-next branch of 2.6.38-rc8+ kernel that adds the
 capability to wait on vblank events for CRTCs that are greater than 1 and
 thus cannot be represented with primary/secondary flags in the legacy
 interface. It was discussed on the dri-devel list in these two threads:

 http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
 http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html

 This patch extends the interface to drm_wait_vblank ioctl so that crtc1 can
 be represented. It also adds a new capability to drm_getcap ioctl so that
 the user space can check whether the new interface to drm_wait_vblank is
 supported (and fall back to the legacy interface if not)

 Regards,

 Ilija


 Reviewed-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de
 Acked-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de

Looks good to me.

Reviewed-by: Alex Deucher alexdeuc...@gmail.com
Tested-by: Alex Deucher alexdeuc...@gmail.com


 diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
 index 7f6912a..3617b4c 100644
 --- a/drivers/gpu/drm/drm_ioctl.c
 +++ b/drivers/gpu/drm/drm_ioctl.c
 @@ -280,6 +280,9 @@ int drm_getcap(struct drm_device *dev, void *data,
 struct drm_file *file_priv)
                if (dev-driver-dumb_create)
                        req-value = 1;
                break;
 +       case DRM_CAP_HIGH_CRTC:
 +               req-value = 1;
 +               break;
        default:
                return -EINVAL;
        }
 diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
 index a34ef97..c725088 100644
 --- a/drivers/gpu/drm/drm_irq.c
 +++ b/drivers/gpu/drm/drm_irq.c
 @@ -1125,7 +1125,7 @@ int drm_wait_vblank(struct drm_device *dev, void
 *data,
  {
        union drm_wait_vblank *vblwait = data;
        int ret = 0;
 -       unsigned int flags, seq, crtc;
 +       unsigned int flags, seq, crtc, high_crtc;

        if ((!drm_dev_to_irq(dev)) || (!dev-irq_enabled))
                return -EINVAL;
 @@ -1134,16 +1134,21 @@ int drm_wait_vblank(struct drm_device *dev, void
 *data,
                return -EINVAL;

        if (vblwait-request.type 
 -           ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK)) {
 +           ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK | +
   _DRM_VBLANK_HIGH_CRTC_MASK)) {
                DRM_ERROR(Unsupported type value 0x%x, supported mask
 0x%x\n,
                          vblwait-request.type,
 -                         (_DRM_VBLANK_TYPES_MASK |
 _DRM_VBLANK_FLAGS_MASK));
 +                         (_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK |
 +                     _DRM_VBLANK_HIGH_CRTC_MASK));
                return -EINVAL;
        }

        flags = vblwait-request.type  _DRM_VBLANK_FLAGS_MASK;
 -       crtc = flags  _DRM_VBLANK_SECONDARY ? 1 : 0;
 -
 +       high_crtc = (vblwait-request.type  _DRM_VBLANK_HIGH_CRTC_MASK);
 +       if (high_crtc)
 +               crtc = high_crtc  _DRM_VBLANK_HIGH_CRTC_SHIFT;
 +       else
 +               crtc = flags  _DRM_VBLANK_SECONDARY ? 1 : 0;
        if (crtc = dev-num_crtcs)
                return -EINVAL;

 diff --git a/include/drm/drm.h b/include/drm/drm.h
 index 9ac4313..99cd074 100644
 --- a/include/drm/drm.h
 +++ b/include/drm/drm.h
 @@ -469,6 +469,8 @@ enum drm_vblank_seq_type {
        _DRM_VBLANK_SECONDARY = 0x2000,     /** Secondary display
 controller */
        _DRM_VBLANK_SIGNAL = 0x4000 /** Send signal instead of blocking,
 unsupported */
  };
 +#define _DRM_VBLANK_HIGH_CRTC_SHIFT 16
 +#define _DRM_VBLANK_HIGH_CRTC_MASK 0x001F

  #define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE |
 _DRM_VBLANK_RELATIVE)
  #define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \
 @@ -753,6 +755,7 @@ struct drm_event_vblank {
  };

  #define DRM_CAP_DUMB_BUFFER 0x1
 +#define DRM_CAP_HIGH_CRTC 0x2

  /* typedef area */
  #ifndef __KERNEL__

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] libdrm: vblank wait on crtc 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
ihad...@research.bell-labs.com wrote:

 Hi Alex,

 Below is a patch against the master branch of libdrm that adds support for
 waits for vblank events on CRTCs that are greater than 1 (and thus cannot be
 represented using current primary/secondary flags interface). The patch adds
 a new DRM_CAP so that the application can check whether the new vblank
 interface is supported and also adds the new DRM_VBLANK mask and shift value
 so that the application can construct vblank_wait ioctls that refer to crtc
 1

 The issue was discussed on the dri-devel list in these two threads

 http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
 http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html

 Regards,

 Ilija

 Reviewed-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de
 Acked-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de

Reviewed-by: Alex Deucher alexdeuc...@gmail.com
Tested-by: Alex Deucher alexdeuc...@gmail.com



 diff --git a/include/drm/drm.h b/include/drm/drm.h
 index 416673a..10afaf1 100644
 --- a/include/drm/drm.h
 +++ b/include/drm/drm.h
 @@ -755,6 +755,7 @@ struct drm_event_vblank {
  };

  #define DRM_CAP_DUMB_BUFFER 0x1
 +#define DRM_CAP_HIGH_CRTC   0x2

  /* typedef area */
  typedef struct drm_clip_rect drm_clip_rect_t;
 diff --git a/xf86drm.h b/xf86drm.h
 index bf0d5df..e2bea06 100644
 --- a/xf86drm.h
 +++ b/xf86drm.h
 @@ -302,6 +302,8 @@ typedef enum {
     DRM_VBLANK_SECONDARY = 0x2000, /** Secondary display controller */
     DRM_VBLANK_SIGNAL   = 0x4000   /* Send signal instead of blocking */
  } drmVBlankSeqType;
 +#define DRM_VBLANK_HIGH_CRTC_SHIFT 16
 +#define DRM_VBLANK_HIGH_CRTC_MASK 0x001F

  typedef struct _drmVBlankReq {
        drmVBlankSeqType type;

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] xf86-video-ati: vblank wait on crtc 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
ihad...@research.bell-labs.com wrote:

 Hi Alex,

 Below is a patch against the master branch of xf86-video-ati that adds
 support for waits on vblank events on CRTCs that are greater than 1 (and
 thus cannot be represented using current primary/secondary flags interface).
 The patch makes use of GET_CAP ioctl to check whether
 vblanks on crtc  1 are supported by the kernel. If they are not
 falls back to legacy behavior. Otherwise, it uses correct crtc numbers
 when waiting on vblank and thus corrects the problem seen in certain
 multiscreen configurations.

 The issue was discussed on the dri-devel list in these two threads

 http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
 http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html

 regards,

 Ilija

 Reviewed-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de
 Acked-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de


Reviewed-by: Alex Deucher alexdeuc...@gmail.com
Tested-by: Alex Deucher alexdeuc...@gmail.com


 diff --git a/src/radeon.h b/src/radeon.h
 index a6d20d7..1a746c7 100644
 --- a/src/radeon.h
 +++ b/src/radeon.h
 @@ -931,6 +931,9 @@ typedef struct {

     RADEONFBLayout    CurrentLayout;

 +#ifdef RADEON_DRI2
 +    Bool              high_crtc_works;
 +#endif
  #ifdef XF86DRI
     Bool              directRenderingEnabled;
     Bool              directRenderingInited;
 diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
 index 66df03c..ed27dad 100644
 --- a/src/radeon_dri2.c
 +++ b/src/radeon_dri2.c
 @@ -783,6 +783,7 @@ static int radeon_dri2_get_msc(DrawablePtr draw, CARD64
 *ust, CARD64 *msc)
     drmVBlank vbl;
     int ret;
     int crtc = radeon_dri2_drawable_crtc(draw);
 +    int high_crtc = 0;

     /* Drawable not displayed, make up a value */
     if (crtc == -1) {
 @@ -791,8 +792,16 @@ static int radeon_dri2_get_msc(DrawablePtr draw, CARD64
 *ust, CARD64 *msc)
         return TRUE;
     }
     vbl.request.type = DRM_VBLANK_RELATIVE;
 -    if (crtc  0)
 +    if (crtc == 1)
         vbl.request.type |= DRM_VBLANK_SECONDARY;
 +    else if (crtc  1) {
 +       if (info-high_crtc_works) {
 +           high_crtc = (crtc  DRM_VBLANK_HIGH_CRTC_SHIFT) 
 +               DRM_VBLANK_HIGH_CRTC_MASK;
 +       } else
 +           vbl.request.type |= DRM_VBLANK_SECONDARY;
 +    }
 +    vbl.request.type |= high_crtc;
     vbl.request.sequence = 0;

     ret = drmWaitVBlank(info-dri2.drm_fd, vbl);
 @@ -825,6 +834,7 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
 client, DrawablePtr draw,
     drmVBlank vbl;
     int ret, crtc = radeon_dri2_drawable_crtc(draw);
     CARD64 current_msc;
 +    int high_crtc = 0;

     /* Truncate to match kernel interfaces; means occasional overflow
      * misses, but that's generally not a big deal */
 @@ -855,8 +865,16 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
 client, DrawablePtr draw,

     /* Get current count */
     vbl.request.type = DRM_VBLANK_RELATIVE;
 -    if (crtc  0)
 +    if (crtc == 1)
         vbl.request.type |= DRM_VBLANK_SECONDARY;
 +    else if (crtc  1) {
 +       if (info-high_crtc_works) {
 +           high_crtc = (crtc  DRM_VBLANK_HIGH_CRTC_SHIFT) 
 +               DRM_VBLANK_HIGH_CRTC_MASK;
 +       } else
 +           vbl.request.type |= DRM_VBLANK_SECONDARY;
 +    }
 +    vbl.request.type |= high_crtc;
     vbl.request.sequence = 0;
     ret = drmWaitVBlank(info-dri2.drm_fd, vbl);
     if (ret) {
 @@ -882,8 +900,16 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
 client, DrawablePtr draw,
         if (current_msc = target_msc)
             target_msc = current_msc;
         vbl.request.type = DRM_VBLANK_ABSOLUTE | DRM_VBLANK_EVENT;
 -        if (crtc  0)
 +        if (crtc == 1)
             vbl.request.type |= DRM_VBLANK_SECONDARY;
 +       else if (crtc  1) {
 +           if (info-high_crtc_works) {
 +               high_crtc = (crtc  DRM_VBLANK_HIGH_CRTC_SHIFT) 
 +                   DRM_VBLANK_HIGH_CRTC_MASK;
 +           } else
 +               vbl.request.type |= DRM_VBLANK_SECONDARY;
 +       }
 +       vbl.request.type |= high_crtc;
         vbl.request.sequence = target_msc;
         vbl.request.signal = (unsigned long)wait_info;
         ret = drmWaitVBlank(info-dri2.drm_fd, vbl);
 @@ -903,8 +929,16 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr
 client, DrawablePtr draw,
      * so we queue an event that will satisfy the divisor/remainder
 equation.
      */
     vbl.request.type = DRM_VBLANK_ABSOLUTE | DRM_VBLANK_EVENT;
 -    if (crtc  0)
 +    if (crtc == 1)
         vbl.request.type |= DRM_VBLANK_SECONDARY;
 +    else if (crtc  1) {
 +       if (info-high_crtc_works) {
 +           high_crtc = (crtc  DRM_VBLANK_HIGH_CRTC_SHIFT) 
 +               DRM_VBLANK_HIGH_CRTC_MASK;
 +       } else
 +           vbl.request.type |= DRM_VBLANK_SECONDARY;
 +    }
 +    vbl.request.type |= high_crtc;

     vbl.request.sequence = current_msc - (current_msc % divisor) +
         

[Bug 35446] Problem with Blender and big textures

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35446

--- Comment #6 from Vaclav Cermak dis...@disnel.com 2011-03-19 12:50:15 PDT 
---
disnel@infimi:~$ LIBGL_DEBUG=verbose glxgears
libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so
libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
304 frames in 5.0 seconds = 60.672 FPS
303 frames in 5.0 seconds = 60.560 FPS
302 frames in 5.0 seconds = 60.368 FPS
^C
disnel@infimi:~$

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] kernel/drm: vblank wait on crtc 1

2011-03-19 Thread Alex Deucher
On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
ihad...@research.bell-labs.com wrote:

 Hi Dave,

 Below is a patch against drm-next branch of 2.6.38-rc8+ kernel that adds the
 capability to wait on vblank events for CRTCs that are greater than 1 and
 thus cannot be represented with primary/secondary flags in the legacy
 interface. It was discussed on the dri-devel list in these two threads:

 http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
 http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html

 This patch extends the interface to drm_wait_vblank ioctl so that crtc1 can
 be represented. It also adds a new capability to drm_getcap ioctl so that
 the user space can check whether the new interface to drm_wait_vblank is
 supported (and fall back to the legacy interface if not)

 Regards,

 Ilija


 Reviewed-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de
 Acked-by: Mario Kleiner mario.kleiner at tuebingen.mpg.de

Ilija, please add your signed-off-by.

Alex


 diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
 index 7f6912a..3617b4c 100644
 --- a/drivers/gpu/drm/drm_ioctl.c
 +++ b/drivers/gpu/drm/drm_ioctl.c
 @@ -280,6 +280,9 @@ int drm_getcap(struct drm_device *dev, void *data,
 struct drm_file *file_priv)
                if (dev-driver-dumb_create)
                        req-value = 1;
                break;
 +       case DRM_CAP_HIGH_CRTC:
 +               req-value = 1;
 +               break;
        default:
                return -EINVAL;
        }
 diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
 index a34ef97..c725088 100644
 --- a/drivers/gpu/drm/drm_irq.c
 +++ b/drivers/gpu/drm/drm_irq.c
 @@ -1125,7 +1125,7 @@ int drm_wait_vblank(struct drm_device *dev, void
 *data,
  {
        union drm_wait_vblank *vblwait = data;
        int ret = 0;
 -       unsigned int flags, seq, crtc;
 +       unsigned int flags, seq, crtc, high_crtc;

        if ((!drm_dev_to_irq(dev)) || (!dev-irq_enabled))
                return -EINVAL;
 @@ -1134,16 +1134,21 @@ int drm_wait_vblank(struct drm_device *dev, void
 *data,
                return -EINVAL;

        if (vblwait-request.type 
 -           ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK)) {
 +           ~(_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK | +
   _DRM_VBLANK_HIGH_CRTC_MASK)) {
                DRM_ERROR(Unsupported type value 0x%x, supported mask
 0x%x\n,
                          vblwait-request.type,
 -                         (_DRM_VBLANK_TYPES_MASK |
 _DRM_VBLANK_FLAGS_MASK));
 +                         (_DRM_VBLANK_TYPES_MASK | _DRM_VBLANK_FLAGS_MASK |
 +                     _DRM_VBLANK_HIGH_CRTC_MASK));
                return -EINVAL;
        }

        flags = vblwait-request.type  _DRM_VBLANK_FLAGS_MASK;
 -       crtc = flags  _DRM_VBLANK_SECONDARY ? 1 : 0;
 -
 +       high_crtc = (vblwait-request.type  _DRM_VBLANK_HIGH_CRTC_MASK);
 +       if (high_crtc)
 +               crtc = high_crtc  _DRM_VBLANK_HIGH_CRTC_SHIFT;
 +       else
 +               crtc = flags  _DRM_VBLANK_SECONDARY ? 1 : 0;
        if (crtc = dev-num_crtcs)
                return -EINVAL;

 diff --git a/include/drm/drm.h b/include/drm/drm.h
 index 9ac4313..99cd074 100644
 --- a/include/drm/drm.h
 +++ b/include/drm/drm.h
 @@ -469,6 +469,8 @@ enum drm_vblank_seq_type {
        _DRM_VBLANK_SECONDARY = 0x2000,     /** Secondary display
 controller */
        _DRM_VBLANK_SIGNAL = 0x4000 /** Send signal instead of blocking,
 unsupported */
  };
 +#define _DRM_VBLANK_HIGH_CRTC_SHIFT 16
 +#define _DRM_VBLANK_HIGH_CRTC_MASK 0x001F

  #define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE |
 _DRM_VBLANK_RELATIVE)
  #define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \
 @@ -753,6 +755,7 @@ struct drm_event_vblank {
  };

  #define DRM_CAP_DUMB_BUFFER 0x1
 +#define DRM_CAP_HIGH_CRTC 0x2

  /* typedef area */
  #ifndef __KERNEL__

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32639

--- Comment #5 from alessandro.sturni...@gmail.com 2011-03-19 14:49:17 PDT ---
I've recently update my system to openSuSE 11.4, so I've installed recent Mesa
7.10 (RPM package is Mesa-7.10-59.3 from
http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.4 repository).

The package is compiled with gallium enabled by default, then the artifacts
aren't present.

Instead when I recompile the package from openSuSE SRPM sources with gallium
disabled, the artifacts reappear.

I've tested with r300 driver, because I was not able to found and enable r300g
on Mesa 7.10.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32639

--- Comment #6 from alessandro.sturni...@gmail.com 2011-03-19 14:54:54 PDT ---
I've google a little bit.
The r300g is the gallium driver for r300?

The problem is that gallium actually is too slow. On my notebook, is much
faster the swrast driver, but if I disable gallium, I get the artifacts.

At this time, on this kind of hardware (I've a Radeon X1200), gallium is almost
unusable.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32639

--- Comment #7 from Alex Deucher ag...@yahoo.com 2011-03-19 15:03:59 PDT ---
(In reply to comment #6)
 I've google a little bit.
 The r300g is the gallium driver for r300?
 
 The problem is that gallium actually is too slow. On my notebook, is much
 faster the swrast driver, but if I disable gallium, I get the artifacts.
 
 At this time, on this kind of hardware (I've a Radeon X1200), gallium is 
 almost
 unusable.

enable llvm in your mesa build:
--enable-gallium-llvm

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 31412] radeon memory leak

2011-03-19 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=31412





--- Comment #9 from Dave Airlie airl...@linux.ie  2011-03-19 22:07:30 ---
I'm having trouble reconciling this with the graphics driver.

a) you claim it happens with fglrx as well, there is nothing shared between
them
(so it can't be a common gpu bug)

b) nothing is leaking according to that debug info in anywhere obvious.

One last test would be unload the gpu stack to see what happens

got to runlevel 3 or anywhere X isn't rnunig
echo 0  /sys/class/vtconsole/vtcon1/bind
rmmod radeon ttm drm_kms_helper drm

see if memory is still gone.

maybe you can watch /proc/slabinfo to see where the memory might be going. It
might also just be page cache from the pdf loading,

does echo 3  /proc/sys/vm/drop_caches help?

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
--
___
Dri-devel mailing list
dri-de...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 32639] [RADEON::R300C] artifacts on dinoshade, neverball and other GL softwares

2011-03-19 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32639

alessandro.sturni...@gmail.com changed:

   What|Removed |Added

Version|7.8 |7.10

--- Comment #8 from alessandro.sturni...@gmail.com 2011-03-19 18:13:37 PDT ---
Ok, I've enabled gallium with llvm support. Now neverball, from 1 fps with
gallium (2 fps with swrast) is jumped to 15 fps, and it is more playable.
Thanks :-)
But the performance gap with r300 driver without gallium (from Mesa 7.6
sources) is of a factor of about 2~2.5 times and on limited hardware like my
Radeon X1200 this is frustrating :-(
The fglrx driver, dropped support for this family of video card from March
2009.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel