mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-06 23:00:31 +01:00
r200: fix polygon stipple
fixes fdo bug 25354 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
This commit is contained in:
parent
c3b7f93e02
commit
2b5618fc5b
4 changed files with 11 additions and 17 deletions
|
|
@ -325,9 +325,9 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual,
|
|||
_mesa_init_driver_functions(&functions);
|
||||
r200InitDriverFuncs(&functions);
|
||||
r200InitIoctlFuncs(&functions);
|
||||
r200InitStateFuncs(&functions, screen->kernel_mm);
|
||||
r200InitStateFuncs(&functions);
|
||||
r200InitTextureFuncs(&functions);
|
||||
r200InitShaderFuncs(&functions);
|
||||
r200InitShaderFuncs(&functions);
|
||||
radeonInitQueryObjFunctions(&functions);
|
||||
|
||||
if (!radeonInitContext(&rmesa->radeon, &functions,
|
||||
|
|
|
|||
|
|
@ -2476,7 +2476,7 @@ static void r200PolygonStipple( GLcontext *ctx, const GLubyte *mask )
|
|||
}
|
||||
/* Initialize the driver's state functions.
|
||||
*/
|
||||
void r200InitStateFuncs( struct dd_function_table *functions, GLboolean dri2 )
|
||||
void r200InitStateFuncs( struct dd_function_table *functions )
|
||||
{
|
||||
functions->UpdateState = r200InvalidateState;
|
||||
functions->LightingSpaceChange = r200LightingSpaceChange;
|
||||
|
|
@ -2510,10 +2510,7 @@ void r200InitStateFuncs( struct dd_function_table *functions, GLboolean dri2 )
|
|||
functions->LogicOpcode = r200LogicOpCode;
|
||||
functions->PolygonMode = r200PolygonMode;
|
||||
functions->PolygonOffset = r200PolygonOffset;
|
||||
if (dri2)
|
||||
functions->PolygonStipple = r200PolygonStipple;
|
||||
else
|
||||
functions->PolygonStipple = radeonPolygonStipplePreKMS;
|
||||
functions->PolygonStipple = r200PolygonStipple;
|
||||
functions->PointParameterfv = r200PointParameter;
|
||||
functions->PointSize = r200PointSize;
|
||||
functions->RenderMode = r200RenderMode;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "r200_context.h"
|
||||
|
||||
extern void r200InitState( r200ContextPtr rmesa );
|
||||
extern void r200InitStateFuncs( struct dd_function_table *functions, GLboolean dri2 );
|
||||
extern void r200InitStateFuncs( struct dd_function_table *functions );
|
||||
extern void r200InitTnlFuncs( GLcontext *ctx );
|
||||
|
||||
extern void r200UpdateMaterial( GLcontext *ctx );
|
||||
|
|
|
|||
|
|
@ -885,10 +885,8 @@ void r200InitState( r200ContextPtr rmesa )
|
|||
}
|
||||
}
|
||||
}
|
||||
/* polygon stipple is done with irq for non-kms */
|
||||
if (rmesa->radeon.radeonScreen->kernel_mm) {
|
||||
ALLOC_STATE( stp, always, STP_STATE_SIZE, "STP/stp", 0 );
|
||||
}
|
||||
|
||||
ALLOC_STATE( stp, always, STP_STATE_SIZE, "STP/stp", 0 );
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
if (rmesa->radeon.radeonScreen->kernel_mm)
|
||||
|
|
@ -1120,12 +1118,11 @@ void r200InitState( r200ContextPtr rmesa )
|
|||
rmesa->hw.sci.cmd[SCI_CMD_1] = CP_PACKET0(R200_RE_TOP_LEFT, 0);
|
||||
rmesa->hw.sci.cmd[SCI_CMD_2] = CP_PACKET0(R200_RE_WIDTH_HEIGHT, 0);
|
||||
|
||||
rmesa->hw.stp.cmd[STP_CMD_0] = CP_PACKET0(RADEON_RE_STIPPLE_ADDR, 0);
|
||||
rmesa->hw.stp.cmd[STP_DATA_0] = 0;
|
||||
rmesa->hw.stp.cmd[STP_CMD_1] = CP_PACKET0_ONE(RADEON_RE_STIPPLE_DATA, 31);
|
||||
|
||||
if (rmesa->radeon.radeonScreen->kernel_mm) {
|
||||
|
||||
rmesa->hw.stp.cmd[STP_CMD_0] = CP_PACKET0(RADEON_RE_STIPPLE_ADDR, 0);
|
||||
rmesa->hw.stp.cmd[STP_DATA_0] = 0;
|
||||
rmesa->hw.stp.cmd[STP_CMD_1] = CP_PACKET0_ONE(RADEON_RE_STIPPLE_DATA, 31);
|
||||
|
||||
rmesa->hw.mtl[0].emit = mtl_emit;
|
||||
rmesa->hw.mtl[1].emit = mtl_emit;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue