http://bugs.cinelerra.org/show_bug.cgi?id=386
Summary: No support for OpenGL on ATi hardware with proprietary
fglrx driver [with patch]
Product: Cinelerra
Version: 2.1
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: Medium
Component: Video Display
AssignedTo: [email protected]
ReportedBy: [EMAIL PROTECTED]
I have a Radeon X1900 series card which currently has the following
limitations:
- only supported by ATi's proprietary driver (I am currently using
fglrx-8.32.5)
- no support for XV with this version of the driver
- the driver lies about its OpenGL version - it claims to be 2.0 but does not
provide necessary entry points (e.g. glUseProgram).
As such I have tried to find a way around these limitations to allow use of the
X11-OpenGL display setting of Cinelerra.
fglrx does support the pre-2.0 GLSL ARB extension which *appears* to be
identical to the support needed by Cinelerra.
**I am not an OpenGL programmer and as such I have merely hacked up something
that appears to partially work.**
The patch consists of replacing all gl function calls not supported by the
fglrx libGL.so with their ARB equivalents - e.g. glUseProgram becomes
glUseProgramObjectARB, glUniform1i becomes glUniform1iARB, etc. I am not aware
of an differences between the ARB and non-ARB variants, but have not
investigated the issue in depth.
There are no compile-time nor run-time errors when using this patch, video is
displayed and certain OpenGL effects appear to render correctly. (Zoom Blur -
which according to
http://cvs.cinelerra.org/irclog/index.php?file=2006-09-13.html uses opengl -
appears to work. Dissolve and Gamma - which would also appear to use opengl -
seem to have problems - frame rate goes to one-frame-every-few-seconds, but no
errors and no high CPU usage.)
The patch is very hackish - just enough to get it to compile on my system.
There's a change to configure.in to check for glUseProgramObjectARB and the
function calls were generally changed with sed, so hopefully there are no new
unrelated bugs.
This patch is quite naive and posted here merely for reference - it could be
done much better (use configure to detect and select appropriate calls, add
simple function call wrappers, actually understand opengl when writing code,
etc). It is a starting point.
Reproducible: Always
Steps to Reproduce:
--
Configure bugmail: http://bugs.cinelerra.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra