forked from pool/xorg-x11-server
This commit is contained in:
parent
608136c026
commit
0fd69392ac
23
commit-5930aeb.diff
Normal file
23
commit-5930aeb.diff
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
commit 5930aeb45e3849df6fc9abf7373599936d515ffa
|
||||||
|
Author: Dave Miller <davem@davemloft.net>
|
||||||
|
Date: Sat Aug 9 16:45:59 2008 +1000
|
||||||
|
|
||||||
|
glx: fix crash in driGetConfigAttribIndex
|
||||||
|
|
||||||
|
Don't access GLboolean via int pointers
|
||||||
|
|
||||||
|
diff --git a/glx/glxdricommon.c b/glx/glxdricommon.c
|
||||||
|
index 13725ae..3285835 100644
|
||||||
|
--- a/glx/glxdricommon.c
|
||||||
|
+++ b/glx/glxdricommon.c
|
||||||
|
@@ -164,6 +164,10 @@ createModeFromConfig(const __DRIcoreExtension *core,
|
||||||
|
if (value & __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT)
|
||||||
|
config->config.bindToTextureTargets |= GLX_TEXTURE_RECTANGLE_BIT_EXT;
|
||||||
|
break;
|
||||||
|
+ case __DRI_ATTRIB_FLOAT_MODE:
|
||||||
|
+ config->config.floatMode = (value ? GL_TRUE : GL_FALSE);
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
default:
|
||||||
|
setScalar(&config->config, attrib, value);
|
||||||
|
break;
|
106
commit-78f50cd.diff
Normal file
106
commit-78f50cd.diff
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
commit 78f50cd5758d778a5b01aa607c04919b69a5a47f
|
||||||
|
Author: Kristian Høgsberg <krh@redhat.com>
|
||||||
|
Date: Tue Aug 26 10:58:35 2008 -0400
|
||||||
|
|
||||||
|
Fix driGetConfigAttribIndex unaligned access to GLboolean.
|
||||||
|
|
||||||
|
We don't actually send the float mode so just drop it. Drop a couple of
|
||||||
|
other unused or redundant fields from GLXconfig.
|
||||||
|
|
||||||
|
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
|
||||||
|
index 0831135..95221a7 100644
|
||||||
|
--- a/glx/glxcmds.c
|
||||||
|
+++ b/glx/glxcmds.c
|
||||||
|
@@ -907,7 +907,7 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
p = 0;
|
||||||
|
buf[p++] = modes->visualID;
|
||||||
|
buf[p++] = glxConvertToXVisualType( modes->visualType );
|
||||||
|
- buf[p++] = modes->rgbMode;
|
||||||
|
+ buf[p++] = (modes->renderType & GLX_RGBA_BIT) ? GL_TRUE : GL_FALSE;
|
||||||
|
|
||||||
|
buf[p++] = modes->redBits;
|
||||||
|
buf[p++] = modes->greenBits;
|
||||||
|
@@ -959,7 +959,7 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
return Success;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#define __GLX_TOTAL_FBCONFIG_ATTRIBS (35)
|
||||||
|
+#define __GLX_TOTAL_FBCONFIG_ATTRIBS (36)
|
||||||
|
#define __GLX_FBCONFIG_ATTRIBS_LENGTH (__GLX_TOTAL_FBCONFIG_ATTRIBS * 2)
|
||||||
|
/**
|
||||||
|
* Send the set of GLXFBConfigs to the client. There is not currently
|
||||||
|
@@ -1011,7 +1011,9 @@ DoGetFBConfigs(__GLXclientState *cl, unsigned screen)
|
||||||
|
WRITE_PAIR( GLX_FBCONFIG_ID, modes->fbconfigID );
|
||||||
|
WRITE_PAIR( GLX_X_RENDERABLE, GL_TRUE );
|
||||||
|
|
||||||
|
- WRITE_PAIR( GLX_RGBA, modes->rgbMode );
|
||||||
|
+ WRITE_PAIR( GLX_RGBA,
|
||||||
|
+ (modes->renderType & GLX_RGBA_BIT) ? GL_TRUE : GL_FALSE );
|
||||||
|
+ WRITE_PAIR( GLX_RENDER_TYPE, modes->renderType );
|
||||||
|
WRITE_PAIR( GLX_DOUBLEBUFFER, modes->doubleBufferMode );
|
||||||
|
WRITE_PAIR( GLX_STEREO, modes->stereoMode );
|
||||||
|
|
||||||
|
diff --git a/glx/glxdricommon.c b/glx/glxdricommon.c
|
||||||
|
index 3285835..faaa3b7 100644
|
||||||
|
--- a/glx/glxdricommon.c
|
||||||
|
+++ b/glx/glxdricommon.c
|
||||||
|
@@ -88,7 +88,6 @@ static const struct { unsigned int attrib, offset; } attribMap[] = {
|
||||||
|
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_GREEN_VALUE, transparentGreen),
|
||||||
|
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_BLUE_VALUE, transparentBlue),
|
||||||
|
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE, transparentAlpha),
|
||||||
|
- __ATTRIB(__DRI_ATTRIB_FLOAT_MODE, floatMode),
|
||||||
|
__ATTRIB(__DRI_ATTRIB_RED_MASK, redMask),
|
||||||
|
__ATTRIB(__DRI_ATTRIB_GREEN_MASK, greenMask),
|
||||||
|
__ATTRIB(__DRI_ATTRIB_BLUE_MASK, blueMask),
|
||||||
|
@@ -136,16 +135,11 @@ createModeFromConfig(const __DRIcoreExtension *core,
|
||||||
|
while (core->indexConfigAttrib(driConfig, i++, &attrib, &value)) {
|
||||||
|
switch (attrib) {
|
||||||
|
case __DRI_ATTRIB_RENDER_TYPE:
|
||||||
|
- if (value & __DRI_ATTRIB_RGBA_BIT) {
|
||||||
|
+ config->config.renderType = 0;
|
||||||
|
+ if (value & __DRI_ATTRIB_RGBA_BIT)
|
||||||
|
config->config.renderType |= GLX_RGBA_BIT;
|
||||||
|
- config->config.rgbMode = GL_TRUE;
|
||||||
|
- } else if (value & __DRI_ATTRIB_COLOR_INDEX_BIT) {
|
||||||
|
+ if (value & __DRI_ATTRIB_COLOR_INDEX_BIT)
|
||||||
|
config->config.renderType |= GLX_COLOR_INDEX_BIT;
|
||||||
|
- config->config.rgbMode = GL_FALSE;
|
||||||
|
- } else {
|
||||||
|
- config->config.renderType = 0;
|
||||||
|
- config->config.rgbMode = GL_FALSE;
|
||||||
|
- }
|
||||||
|
break;
|
||||||
|
case __DRI_ATTRIB_CONFIG_CAVEAT:
|
||||||
|
if (value & __DRI_ATTRIB_NON_CONFORMANT_CONFIG)
|
||||||
|
@@ -164,10 +158,6 @@ createModeFromConfig(const __DRIcoreExtension *core,
|
||||||
|
if (value & __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT)
|
||||||
|
config->config.bindToTextureTargets |= GLX_TEXTURE_RECTANGLE_BIT_EXT;
|
||||||
|
break;
|
||||||
|
- case __DRI_ATTRIB_FLOAT_MODE:
|
||||||
|
- config->config.floatMode = (value ? GL_TRUE : GL_FALSE);
|
||||||
|
- break;
|
||||||
|
-
|
||||||
|
default:
|
||||||
|
setScalar(&config->config, attrib, value);
|
||||||
|
break;
|
||||||
|
diff --git a/glx/glxscreens.h b/glx/glxscreens.h
|
||||||
|
index 39d162d..ea47db4 100644
|
||||||
|
--- a/glx/glxscreens.h
|
||||||
|
+++ b/glx/glxscreens.h
|
||||||
|
@@ -58,16 +58,9 @@ void __glXSwapBarrierInit(int screen, __GLXSwapBarrierExtensionFuncs *funcs);
|
||||||
|
typedef struct __GLXconfig __GLXconfig;
|
||||||
|
struct __GLXconfig {
|
||||||
|
__GLXconfig *next;
|
||||||
|
- GLboolean rgbMode;
|
||||||
|
- GLboolean floatMode;
|
||||||
|
- GLboolean colorIndexMode;
|
||||||
|
GLuint doubleBufferMode;
|
||||||
|
GLuint stereoMode;
|
||||||
|
|
||||||
|
- GLboolean haveAccumBuffer;
|
||||||
|
- GLboolean haveDepthBuffer;
|
||||||
|
- GLboolean haveStencilBuffer;
|
||||||
|
-
|
||||||
|
GLint redBits, greenBits, blueBits, alphaBits; /* bits per comp */
|
||||||
|
GLuint redMask, greenMask, blueMask, alphaMask;
|
||||||
|
GLint rgbBits; /* total bits for rgb */
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 28 12:46:01 CEST 2008 - sndirsch@suse.de
|
||||||
|
|
||||||
|
- commit-5930aeb.diff/commit-78f50cd.diff
|
||||||
|
* obsoletes reverting of Mesa commit 1724334 (bfo #17069)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Aug 8 10:50:48 CEST 2008 - sndirsch@suse.de
|
Fri Aug 8 10:50:48 CEST 2008 - sndirsch@suse.de
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ BuildRequires: libjpeg-devel
|
|||||||
Url: http://xorg.freedesktop.org/
|
Url: http://xorg.freedesktop.org/
|
||||||
%define EXPERIMENTAL 0
|
%define EXPERIMENTAL 0
|
||||||
Version: 7.3
|
Version: 7.3
|
||||||
Release: 141
|
Release: 156
|
||||||
License: X11/MIT
|
License: X11/MIT
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
@ -98,6 +98,8 @@ Patch114: 64bit-portability-issue.diff
|
|||||||
Patch116: ppc.diff
|
Patch116: ppc.diff
|
||||||
Patch117: acpi-warning.diff
|
Patch117: acpi-warning.diff
|
||||||
Patch118: exa-greedy.diff
|
Patch118: exa-greedy.diff
|
||||||
|
Patch119: commit-5930aeb.diff
|
||||||
|
Patch120: commit-78f50cd.diff
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the X.Org Server.
|
This package contains the X.Org Server.
|
||||||
@ -216,6 +218,8 @@ popd
|
|||||||
%endif
|
%endif
|
||||||
%patch117
|
%patch117
|
||||||
%patch118 -p1
|
%patch118 -p1
|
||||||
|
%patch119 -p1
|
||||||
|
%patch120 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
pushd xorg-docs-*
|
pushd xorg-docs-*
|
||||||
@ -530,6 +534,9 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Aug 28 2008 sndirsch@suse.de
|
||||||
|
- commit-5930aeb.diff/commit-78f50cd.diff
|
||||||
|
* obsoletes reverting of Mesa commit 1724334 (bfo #17069)
|
||||||
* Fri Aug 08 2008 sndirsch@suse.de
|
* Fri Aug 08 2008 sndirsch@suse.de
|
||||||
- commit-50e80c3.diff obsolete now (bnc #415680)
|
- commit-50e80c3.diff obsolete now (bnc #415680)
|
||||||
- commit-f6401f9.diff obsolete
|
- commit-f6401f9.diff obsolete
|
||||||
|
Loading…
Reference in New Issue
Block a user