H. Verbeet wrote:
On 31/01/06, Vitaly Budovski vbudovsk@cs.rmit.edu.au wrote:
wined3d: Fixed up render states POINTSCALEENABLE, POINTSPRITENABLE, EDGEANTIALIAS, MULTISAMPLEANTIALIAS
You probably want to split the patch up in smaller pieces.
How would I do this?
if(This->stateBlock->renderState[D3DRS_POINTSCALEENABLE]) {att[0] = *((float*)&This->stateBlock->renderState[D3DRS_POINTSCALE_A]) /(This->stateBlock->viewport.Height * This->stateBlock->viewport.Height);att[1] = *((float*)&This->stateBlock->renderState[D3DRS_POINTSCALE_B]) /(This->stateBlock->viewport.Height * This->stateBlock->viewport.Height);att[2] = *((float*)&This->stateBlock->renderState[D3DRS_POINTSCALE_C]) /(This->stateBlock->viewport.Height * This->stateBlock->viewport.Height);}You're not supposed to use D3DRS_ stuff in wined3d, rather use the respective WINED3DRS_ defines, as the original code did.
Typo, I'll fix that.
if(GL_SUPPORT(ARB_POINT_PARAMETERS)) {Same problem as with your patch for d3d8, wined3d doesn't currently check for ARB_POINT_PARAMETERS support (in IWineD3DImpl_FillGLCaps).
Will be submitted as a separate patch. Falls back to the EXT version for now.
/* Doesn't work with GL_POINT_SMOOTH on on my ATI 9600, but then ATI drivers are buggered! */glDisable(GL_POINT_SMOOTH);Did you verify that this isn't required anymore? Otherwise that's a potential regression.
This seems to be a bug with (some?) ATI hardware/drivers. Point smoothing should normally be supported I believe.
checkGLcall("glEnable(Gl_LINE_SMOOTH)");checkGLcall("glDisable(Gl_LINE_SMOOTH)");That should probably say Gl_LINE_SMOOTH, but it's not really critical
Non-critical typo, but will be fixed when I resend the patch.